Hello all, here's a quick guide for configuring Empires on a Linux host. Edited by Kane. First of all create yourself a directory to install into, and jump in it (and export for future reference) Code: $ mkdir empires-1 # cd empires-1 # export EMPIRES_DIR=$PWD Then download and extract the hlds tool Code: # wget http://storefront.steampowered.com/download/hldsupdatetool.bin --17:10:35-- http://storefront.steampowered.com/download/hldsupdatetool.bin => `hldsupdatetool.bin' Resolving storefront.steampowered.com... 117.121.249.42, 117.121.249.40 Connecting to storefront.steampowered.com|117.121.249.42|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3,513,408 (3.4M) [application/octet-stream] 100%[=================================================================================================================>] 3,513,408 338.69K/s ETA 00:00 17:10:48 (296.19 KB/s) - `hldsupdatetool.bin' saved [3513408/3513408] root@server# chmod +x hldsupdatetool.bin root@server# ./hldsupdatetool.bin Next you'll need to install orangebox from the extracted steam binary. This will take a while. Code: # ./steam -command update -game orangebox -dir . Change directory to the orange box directory, and download the Empires zip and hotfix Code: # cd orangebox # wget http://raegquit.com/coffeeburrito/Empires_2.24b_server_full.zip # wget http://mirror.kane.cx/freeshare/empires/empires-2.24e_linux_hotfix.tar.bz2 Unzip the file in your /empires-1/orangebox/ directory Code: # unzip Empires*.zip I suggest you edit the server.cfg file to place your hostname and other custom settings in If it says some strange thing like empires/cfg/server.cfg not found, try replacing $EDITOR with 'nano' or 'vi' or something. Code: # $EDITOR empires/cfg/server.cfg Now create the start scripts. startchild.sh: Code: cat > startchild.sh << EOF #!/bin/sh ARGSFILE="args.txt" # Put arguments that should can be changed in $ARGSFILE, then kill the server once to restart them. CMD="./srcds_run -console -game empires +ip 85.25.76.53 -port 27015 -tickrate 33 +sv_lan 0 -norestart" while [ ! -f "exit" ]; do # Default args ARGS="+map emp_district402 +maxplayers 48" [ -e $ARGSFILE ] && ARGS="$(cat $ARGSFILE)" su - $SUUSER -c "$CMD $ARGS" done EOF chmod +x startchild.sh start.sh: Code: cat > start.sh << EOF #!/bin/sh SUUSER="empires-1" screen -dmS $SUUSER ./startchild.sh EOF chmod +x start.sh Create the argsfile: Code: cat > args.txt << EOF +map emp_district402 +maxplayers 48 EOF Create the user + group and set permissions: Code: addgroup --system empires-1 adduser --system --home $EMPIRES_DIR --group empires-1 empires-1 chmod o-rwx -R $EMPIRES_DIR chmod g=u -R $EMPIRES_DIR chown empires-1:empires-1 -R $EMPIRES_DIR Start it and attach to the screen session. Code: ./start.sh screen -r empires-1 You should now have the server running infront of you! Detach with Ctrl-a + d. Good luck! Notes: NEVER run the server as root. Thanks.
The Source SDK's Linux support is completely insufficient for a demanding mod such as Empires. Thus, Empires Linux binaries have been discontinued for quite some time.
Exactly, look what Valve said about performance of their servers in SDK 2007 on Linux. They rewrote it completely around L4D and that engine version could support Empires on Linux quite reliably.
hlcoders maybe. One of Valve guy answered question why does Source2007 suck so much after someone ptraced it. He said they fixed it for multiple servers/process(machine) for L4D and earlier engine versions won't get optimized at all.