|
|
Line 38: |
Line 38: |
|
| |
|
| == Dedicated Server (Linux) == | | == Dedicated Server (Linux) == |
| === Downloading ===
| | Linux server is unsupported. Valve's version of Source 2007 engine for Linux is too slow to handle any decent amount of players. |
| First of all you need the [http://storefront.steampowered.com/download/hldsupdatetool.bin HLDS Update Tool]. This is what we use to update/download the server. You will also need Empires Dedicated Server from the [http://empiresmod.com/download.php Empires Download Page].
| |
| | |
| === Installing SDS ===
| |
| Now we have to extract the HLDS-Update-Tool.
| |
| * Go to the homedir of the user who is designated to run the HL2-Server and create a subdir.
| |
| hl2usr@hl2srv ~ # mkdir hl2
| |
| * Copy the HLDS-Update-Tool into your new subdir and chmod it to make it executable:
| |
| hl2usr@hl2srv ~/hl2 # chmod +x hldsupdatetool.bin
| |
| * Run the binary:
| |
| hl2usr@hl2srv ~/hl2 # ./hldsupdatetool.bin
| |
| * If you get a warning about not finding "compress", go grab the "[http://ncompress.sourceforge.net/ ncompress]" package on Redhat/Fedora:
| |
| hl2usr@hl2srv ~/hl2 # yum install ncompress
| |
| * Now that you have finished extracting the Update-Tool you can use it to download all required files:
| |
| hl2usr@hl2srv ~/hl2 # ./steam -command update -game "orangebox" -dir .
| |
| Get yourself a cup of tea, coffee, soda, etc., and have a rest. Depending on your connection speed this can take some time
| |
| | |
| === Installing Empires ===
| |
| Next, we have to extract the previously downloaded Empires-Server.
| |
| * Copy the zip-file (something like empires_v1xxx_server.zip) to the folder where the HLDS-Update-Tool resides (''~/hl2'' in this example) and extract it:
| |
| hl2usr@hl2srv ~/hl2 # unzip empires_v1xxx_server.zip -d orangebox
| |
| This command creates the directory ''~hl2/orangebox/empires'' and extracts all needed files into it.
| |
| | |
| === Configuration ===
| |
| Before you can start your new Dedicated Server the servers config files have to be altered to satisfy your needs.
| |
| * cd to the ''"orangebox/empires"'' subdir
| |
| * Edit the file ''mapcycle.txt'' with your prefered text editor and add/remove the maps you like/don't like in your mapcycle
| |
| * cd to the config dir of your Empires installation (''~/hl2/orangebox/empires/cfg'' in this example)
| |
| * Edit the ''server.cfg'' to your liking
| |
| {{Warning|When editing your server.cfg remember to change your '''rcon_password''' and '''hostname''' directives!}}
| |
| rcon_password "pass" //Your rcon password
| |
| hostname "Servername" //The name of your server
| |
| | |
| === Starting ===
| |
| Now your server should be ready for startup
| |
| * cd to your Dedicated-Servers basedir (''~/hl2'' in this example)
| |
| * Start the Server:
| |
| hl2usr@hl2srv ~/hl2 # ./srcds_run -game empires +maxplayers 14 -port 27015 -console +map emp_canyon -autoupdate
| |
| {{Tip|Use a terminal multiplexer like [http://www.gnu.org/software/screen/ Screen] to be able to detach the HL2-Server Console and disconnect from your servers shell without terminating the HL2-Daemon}}
| |
| * You can create a Bash-File in your Dedicated-Servers basedir to easily start your Empires-Server in a virtual Screen-Terminal:
| |
| {{ Box File|empires.sh|
| |
| <pre>
| |
| #! /bin/bash
| |
| screen -A -d -m -S empires -t empires ./srcds_run -game empires +maxplayers 14 -port 27015 -console +map emp_canyon -autoupdate
| |
| </pre>
| |
| }}
| |
| Please note that if you wish to retain explicit control over when updates happen on your server you can omit the -autoupdate option.
| |
| * Now make the Bash-File executable and run it:
| |
| hl2usr@hl2srv ~/hl2 # chmod +x empires.sh
| |
| hl2usr@hl2srv ~/hl2 # ./empires.sh
| |
| The Dedicated-Server now runs in the background. You can attach to the Screen-Terminal by typing:
| |
| hl2usr@hl2srv ~/hl2 # screen -r empires
| |
| | |
| You can detach from the Screen-Terminal and leave the server running by typing a Control-a followed by "d".
| |
| | |
| To stop the server, reattach to the Screen-Terminal and type Control-c.
| |
| | |
| If you intend to run multiple servers then you will need to set a unique value for the port used & the the Screen-Terminal name used via the -port & -S options in the above command.
| |
| | |
| === Monitoring server resources ===
| |
| ==== Bandwidth ====
| |
| For monitor server bandwidth you can use "iftop" which will display bandwidth consumption on a per port/connections basis. NB: This program needs to run as '''root'''.
| |
| | |
| Assuming your running empires on the default 27015 port the follow will filter to show only empires traffic:
| |
| <pre>
| |
| root@hl2srv ~/hl2 # iftop -P -f "port 27015"
| |
| </pre>
| |
| | |
| A lightly loaded server with 4 active players and 7 recently departed:
| |
| <pre>
| |
| 50.0Kb 100Kb 150Kb 200Kb 250Kb
| |
| └───────────────┴───────────────┴───────────────┴───────────────┴───────────────
| |
| oneltdhost.net:27015 <=> guru239.netsonic.fi:13765 43.1Kb 44.8Kb 44.5Kb
| |
| oneltdhost.net:27015 <=> 71-213-216-109.sxcy.:27005 41.1Kb 43.8Kb 41.2Kb
| |
| oneltdhost.net:27015 <=> cc300737-b.hnglo1.ov:27005 40.7Kb 42.2Kb 36.8Kb
| |
| oneltdhost.net:27015 <=> dynamic-acs-24-239-4:27011 27.7Kb 27.9Kb 33.7Kb
| |
| oneltdhost.net:27015 <=> host-091-097-139-118:49167 0b 175b 44b
| |
| oneltdhost.net:27015 <=> 120.139.76-8:netview-aix-8 0b 0b 44b
| |
| oneltdhost.net:27015 <=> ANice-754-1-3-:megaco-h248 0b 0b 44b
| |
| oneltdhost.net:27015 <=> host86-139-6-13.rang:64937 0b 0b 44b
| |
| oneltdhost.net:27015 <=> daruck-69-4.gimp.co:finger 0b 0b 44b
| |
| oneltdhost.net:27015 <=> c24-143-85-34.s:t1distproc 0b 0b 44b
| |
| oneltdhost.net:27015 <=> 213-67-55-231-no157.:57200 0b 0b 44b
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| ────────────────────────────────────────────────────────────────────────────────
| |
| TX: cumm: 824KB peak: 88.7Kb rates: 66.0Kb 69.9Kb 72.9Kb
| |
| RX: 798KB 92.1Kb 86.6Kb 89.0Kb 83.5Kb
| |
| TOTAL: 1.58MB 174Kb 153Kb 159Kb 156Kb
| |
| </pre>
| |
| | |
| Furthermore, you can hit the "t" key to display each connection on a single line rather than show receive and transmit on two lines.
| |
| | |
| ==== CPU/Disk ====
| |
| For CPU usage you can use top (default installed all linux distros), htop (enhanced 'top') or atop.
| |
| | |
| [http://htop.sourceforge.net/ htop] gives a very good "at-a-glance" showing overall CPU core load, memory usage and the top dozen or so processes.
| |
| | |
| <pre>
| |
| | |
| 1 [|| 2.0%] Tasks: 85 total, 2 running
| |
| 2 [|||||||| 23.3%] Load average: 0.36 0.23 0.14
| |
| Mem[||||||||||||||||||||845/3934MB] Uptime: 10 days, 02:41:32
| |
| Swp[| 30/1913MB]
| |
| | |
| PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
| |
| 27647 hl2 -3 0 161M 94724 12344 S 57.0 2.4 14:37.76 ./srcds_i486 -game
| |
| 12337 daruck 20 0 468M 210M 3400 R 8.0 5.3 13h08:54 ./isagimp
| |
| 27649 hl2 -3 0 161M 94724 12344 S 5.0 2.4 1:38.01 ./srcds_i486 -game
| |
| 28030 hl2 20 0 14984 1160 912 R 1.0 0.0 0:04.71 htop
| |
| 27997 hl2 0 -20 15464 3188 2424 S 0.0 0.1 0:02.20 atop
| |
| 11298 named 20 0 177M 31556 2196 S 0.0 0.8 34:28.57 /usr/sbin/named -u
| |
| 11296 named 20 0 177M 31556 2196 S 0.0 0.8 30:05.04 /usr/sbin/named -u
| |
| 11295 named 20 0 177M 31556 2196 S 0.0 0.8 25:34.77 /usr/sbin/named -u
| |
| 2149 mysql 20 0 324M 41132 5068 S 0.0 1.0 2h02:27 /usr/libexec/mysql
| |
| 2163 mysql 20 0 324M 41132 5068 S 0.0 1.0 50:19.25 /usr/libexec/mysql
| |
| 1 root 20 0 10308 716 596 S 0.0 0.0 0:08.52 init [2]
| |
| 556 root 16 -4 12588 768 404 S 0.0 0.0 0:00.50 /sbin/udevd -d
| |
| 1668 root 20 0 6684 916 432 S 0.0 0.0 2:50.50 /sbin/dhclient -1
| |
| 1728 rpc 20 0 18660 624 424 S 0.0 0.0 0:00.63 rpcbind
| |
| 1748 root 20 0 21044 1316 564 S 0.0 0.0 0:00.15 pcscd
| |
| 1756 root 20 0 90636 1292 648 S 0.0 0.0 4:56.45 rsyslogd -m 0
| |
| F1Help F2Setup F3SearchF4InvertF5Tree F6SortByF7Nice -F8Nice +F9Kill F10Quit
| |
| </pre>
| |
| | |
| | |
| [http://www.atcomputing.nl/Tools/atop/download-atop.html atop] will give you the missing Hard disk activity monitor by way of the "DSK" line's "busy" percentage:
| |
| <pre>
| |
| ATOP - oneltdhost 2008/12/31 12:38:24 10 seconds elapsed
| |
| PRC | sys 1.10s | user 5.76s | #proc 121 | #zombie 0 | #exit 0 |
| |
| CPU | sys 4% | user 21% | irq 0% | idle 174% | wait 0% |
| |
| cpu | sys 2% | user 19% | irq 0% | idle 78% | cpu001 w 0% |
| |
| cpu | sys 2% | user 1% | irq 0% | idle 97% | cpu000 w 0% |
| |
| CPL | avg1 0.19 | avg5 0.20 | avg15 0.12 | csw 18728 | intr 3847 |
| |
| MEM | tot 3.8G | free 93.8M | cache 2.9G | buff 4.4M | slab 306.0M |
| |
| SWP | tot 1.9G | free 1.8G | | vmcom 972.8M | vmlim 3.8G |
| |
| DSK | sda | busy 0% | read 12 | write 9 | avio 1 ms |
| |
| NET | transport | tcpi 679 | tcpo 704 | udpi 805 | udpo 620 |
| |
| NET | network | ipi 1498 | ipo 1332 | ipfrw 0 | deliv 1485 |
| |
| NET | eth0 0% | pcki 1498 | pcko 1332 | si 344 Kbps | so 279 Kbps |
| |
| | |
| PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPU CMD 1/1
| |
| 27647 0.73s 5.55s 0K 0K 0K 0K -- - S 62% srcds_i486
| |
| 2149 0.07s 0.11s 0K 0K 0K 0K -- - S 2% mysqld
| |
| 28030 0.10s 0.03s 0K 0K 0K 0K -- - S 1% cheese
| |
| 27997 0.03s 0.00s 0K 0K 0K 0K -- - R 0% and
| |
| 11294 0.00s 0.01s 0K 0K 0K 0K -- - S 0% biscuits
| |
| 12336 0.00s 0.00s 0K 0K 0K 0K -- - S 0% screen
| |
| </pre>
| |
|
| |
|
| == Tip and Tricks == | | == Tip and Tricks == |