Dedicated Server Setup

From Empires Wiki
Jump to: navigation, search

Home > Dedicated Server Setup

Dedicated Server (Windows)

  • Download and install (follow the instructions on the page): SteamCMD.
  • Open a command line window with elevated / local administrator privileges and browse to the location of the update tool.
  • Update syntax example:
steamcmd.exe +login anonymous +app_update 460040 validate +quit
  • to update Empires Dedicated Server follow the same procedure.

Dedicated Server (Linux)

Installing a dedicated server is supported on Debian 9. Execute the following in a root shell:

apt-get install curl ca-certificates lib32gcc1
adduser --system --group --home /var/lib/empires empires --shell /bin/bash
su - empires
mkdir Steam
cd Steam
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
cat > ../update <<UPDATE
login anonymous
force_install_dir steamapps/common/empires_dedicated/
app_update 460040 validate
quit
UPDATE
./steamcmd.sh +runscript ../update
cd steamapps/common/empires_dedicated
cat > run <<RUN
#!/bin/sh
~/Steam/steamapps/common/empires_dedicated/srcds_run -game empires -secure -steam -dev -steam_dir ~/Steam/ -steamcmd_script ../update -autoupdate -maxplayers 62 +map emp_district
RUN
chmod +x run
./run

Server Extensions

There are several plugins available for use in Empires. Two extension systems are available (and can run in parallel):

  • SourceMod is the most common system, and is used for the majority of plugins. Handy SourceMod plugins that have been confirmed to work on Empires servers are:
    • Ungrief Command Vehicle - Teleports the specified command vehicle to where you are looking. Usage: !ungrief <nf | be | imp>
    • SourceBans - A free global administration and banning system for Source engine based servers.
    • Kigen's Anti-Cheat (Requires Sockets 3.0.1 plugin) - An extensive anti-cheating plugin.
    • For more plugins, look at the Sourcemod Plugins page.
  • SourceOp is less popular, but is required to run an anti-DoS plugin:

Both systems themselves run on MetaMod, allowing them to run in parallel.

Tips and Tricks

Customize server.cfg settings

As the server.cfg (amongst others) can be overwritten during upgrade and you may wish to have your server run in different "modes" such as password protected clan match/practice, increased resource rates for "tank wars", etc, it is best to treat your server.cfg as "read-only".

Any default settings you wish to use can be placed in a separate file such as "myserver.cfg". At the end of server.cfg, you can then add the line "exec myserver.cfg".

This way, server.cfg will then run myserver.cfg and override any server.cfg settings.

Loading various server "modes" can then be done by calling them in the server console:

rcon exec tankwars.cfg

If you want a mode to be automatically loaded after map change / server restart, you can add another line to server.cfg below the "exec myserver.cfg" entry.

As an example of custom configuration you might want to use, the following line will disable the ability to join spectators at the start of the round:

emp_allowspectators 0; wait 30000; emp_allowspectators 1

It should be put at the end of the .cfg file so as to not delay any subsequent commands. The wait command delays all further commands by the amount specified in 1/100ths of a second.

Running a beta server

Running a beta server is just like a normal server, with the desired steam branch mentioned when downloading the server package.

steamcmd.exe +login anonymous +app_update 460040 -beta beta validate +quit

See this link for more info on automating server creation, and on switching to specific steam branches. https://developer.valvesoftware.com/wiki/SteamCMD#Automating_SteamCMD

Related Links