Unix Warcraft III Server

UNIX configuration for WarCraft III Server
What you need to configure


 * bnetd.conf
 * address_translation.conf
 * versioncheck.conf
 * autoupdate.conf (optional)
 * Router / Firewall
 * WarCraft III client (optional)

Edit bnetd.conf
Open the /etc/bnetd.conf file in your preferred editor

(I’ll use vi or vim, a text based editor):

[root@mybox]# cd /etc/ [root@mybox]# vi bnetd.conf

After opening the file in the editor, search for the client verification and upgrades section and look for the following line:

allowed_clients = all

Now you must setup your own options for the clients you will allow to connect to your server:

allowed_clients = war3,w3xp

Edit address_translation.conf
Open the /etc/address_translation.conf file in your preferred editor

(I’ll use vi or vim, a text based editor):

[root@mybox]# cd /etc/ [root@mybox]# vi address_translation.conf

After opening the file in the editor, search for the w3route server ip translation section.

Look for the following line:


 * 1) 0.0.0.0:6200      1.2.3.4:6200      192.168.0.0/24           ANY

Now you must uncomment the line by deleting the # and enter your Internet IP Address, and your LAN Subnet

(Lets say your Internet IP is 74.22.125.199 and your LAN IP is 192.168.1.x):

0.0.0.0:6200     74.22.125.199:6200      192.168.1.0/24           ANY

Next, if you will play WarCraft III from a computer on you LAN, you must search for the Game Translations for clients/games (client data ports) section.

Look for the following line (optional):


 * 1) 192.168.1.10:6112  1.2.3.4:6118      192.168.1.0/24,10.0.0.0/8  ANY

Now you must uncomment the line by deleting the # and enter your LAN IP Address of WarCraft III client, Internet IP Address, and your LAN Subnet.

(Lets say your Internet IP is 74.22.125.199 and your LAN IP for WarCraft Client is 192.168.1.2):

192.168.1.2:16112  74.22.125.199:16112      192.168.1.0/24  ANY

If you have more than one WarCraft III client on the LAN, you will need to create a new entry for each client with a unique port.

Edit versioncheck.conf
Open the /etc/versioncheck.conf file in your preferred editor.

(I’ll use vi or vim, a text based editor):

[root@mybox]# cd /etc/ [root@mybox]# vi versioncheck.conf

After opening the file in the editor, search for the -=- Latest Versions -=- No Update Required -=- section.

Look for the following entries:

"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \ IX86ver1.mpq \ IX86 \ W3XP \ "war3.exe 02/26/10 20:41:08 471040" \ 0x00000018 \ 1.24.4.243 \ 0xde4443c5 \ W3XP_124E "A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \ IX86ver1.mpq \ IX86 \ WAR3 \ "war3.exe 02/26/10 20:41:08 471040" \ 0x00000018 \ 1.24.4.243 \ 0xde4443c5 \ WAR3_124E
 * 1) Warcraft III - TFT (Expansion) 1.24e
 * 2) Note: this version check is sent in both FT and ROC mode
 * 1) Warcraft III - ROC 1.24e

If those entries exist, then you have the current version checks for WarCraft III. You can customize this to allow only certain version of WarCraft III to connect to your server.

Do this by removing the version check entries for the version you don't want to connect to your server.

Download the latest versioncheck.conf if you don't have those entries.

[root@mybox]# cd /etc/ [root@mybox]# wget http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/pvpgn/pvpgn/conf/versioncheck.conf

Edit autoupdate.conf (optional)
Open the /etc/autoupdate.conf file in your preferred editor.

(I’ll use vi or vim, a text based editor):

[root@mybox]# cd /etc/ [root@mybox]# vi autoupdate.conf

After opening the file in the editor, search for the WarCraft III - FT (Expansion) section.

Look for the following entries:


 * 1) =============== WarCraft III - FT (Expansion) ===============
 * 2) IX86   W3XP    W3XP_107A       W3XP_IX86_1xx_124E.mpq
 * 3) IX86   W3XP    W3XP_110A       W3XP_IX86_1xx_124E.mpq
 * 4) IX86   W3XP    W3XP_111A       W3XP_IX86_1xx_124E.mpq
 * 5) IX86   W3XP    W3XP_112A       W3XP_IX86_1xx_124E.mpq
 * 6) IX86   W3XP    W3XP_113A       W3XP_IX86_1xx_124E.mpq
 * 7) IX86   W3XP    W3XP_113B       W3XP_IX86_1xx_124E.mpq
 * 8) IX86   W3XP    W3XP_114A       W3XP_IX86_1xx_124E.mpq
 * 9) IX86   W3XP    W3XP_114B       W3XP_IX86_1xx_124E.mpq
 * 10) IX86   W3XP    W3XP_115A       W3XP_IX86_1xx_124E.mpq
 * 11) IX86   W3XP    W3XP_116A       W3XP_IX86_1xx_124E.mpq
 * 12) IX86   W3XP    W3XP_117A       W3XP_IX86_1xx_124E.mpq
 * 13) IX86   W3XP    W3XP_118A       W3XP_IX86_1xx_124E.mpq
 * 14) IX86   W3XP    W3XP_119A       W3XP_IX86_1xx_124E.mpq
 * 15) IX86   W3XP    W3XP_119B       W3XP_IX86_1xx_124E.mpq
 * 16) IX86   W3XP    W3XP_120A       W3XP_IX86_1xx_124E.mpq
 * 17) IX86   W3XP    W3XP_120B       W3XP_IX86_1xx_124E.mpq
 * 18) IX86   W3XP    W3XP_120C       W3XP_IX86_1xx_124E.mpq
 * 19) IX86   W3XP    W3XP_120D       W3XP_IX86_1xx_124E.mpq
 * 20) IX86   W3XP    W3XP_120E       W3XP_IX86_1xx_124E.mpq
 * 21) IX86   W3XP    W3XP_121A       W3XP_IX86_1xx_124E.mpq
 * 22) IX86   W3XP    W3XP_121B       W3XP_IX86_1xx_124E.mpq
 * 23) IX86   W3XP    W3XP_122A       W3XP_IX86_1xx_124E.mpq
 * 24) IX86   W3XP    W3XP_123A       W3XP_IX86_1xx_124E.mpq
 * 25) IX86   W3XP    W3XP_124A       W3XP_IX86_1xx_124E.mpq
 * 26) IX86   W3XP    W3XP_124B       W3XP_IX86_1xx_124E.mpq
 * 27) IX86   W3XP    W3XP_124C       W3XP_IX86_1xx_124E.mpq


 * 1) Incremental update from version 1.24b
 * 2) IX86   W3XP    W3XP_124D       W3XP_IX86_124D_124E.mpq
 * 1) The next one is a WarCraft III - FT wildcard entry.
 * 2) IX86   W3XP    W3XP_1xx        W3XP_IX86_1xx_124E.mpq

Now you must uncomment the line by deleting the # from every line:

IX86   W3XP    W3XP_107A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_110A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_111A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_112A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_113A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_113B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_114A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_114B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_115A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_116A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_117A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_118A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_119A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_119B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_120A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_120B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_120C       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_120D       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_120E       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_121A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_121B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_122A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_123A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_124A       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_124B       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_124C       W3XP_IX86_1xx_124E.mpq IX86   W3XP    W3XP_124D       W3XP_IX86_124D_124E.mpq IX86   W3XP    W3XP_1xx        W3XP_IX86_1xx_124E.mpq
 * 1) =============== WarCraft III - FT (Expansion) ===============
 * 1) Incremental update from version 1.24b
 * 1) The next one is a WarCraft III - FT wildcard entry.

Next do the same with the WarCraft III - RoC section.

After the autoupdate.conf has been configured, you will need to download the update files.

The bnftp utility is what we'll use to download the update files:

[root@mybox]# cd /var/files/ [root@mybox]# bnftp --client=W3XP --arch=IX86 --file=W3XP_IX86_1xx_124E_enUS.mpq uswest.battle.net 6112 [root@mybox]# bnftp --client=W3XP --arch=IX86 --file=W3XP_IX86_124D_124E_enUS.mpq uswest.battle.net 6112 [root@mybox]# bnftp --client=W3XP --arch=IX86 --file=WAR3_IX86_1xx_124E_enUS.mpq uswest.battle.net 6112 [root@mybox]# bnftp --client=W3XP --arch=IX86 --file=WAR3_IX86_124D_124E_enUS.mpq uswest.battle.net 6112

Configure Router / Firewall
You will need to forward ports 6112 and 6200 to your pvpgn server, and forward port 16112 to your WarCraft III client.

Also ensure these ports are allowed through any firewall(s) on the applicable computer(s).

Configure WarCraft III client (optional)
To play WarCraft III on the same LAN as the pvpgn server, you will need to change the port that WarCraft III uses, since PvPGN is already the default port (6112). Change the Game Port to the unique port you specified in the address_translation.conf.

Launch WarCraft III --> click Options --> click Gameplay --> Change Game Port to 16112