Dedicated Server Setup: Difference between revisions
No edit summary |
(Add server resources header) |
||
Line 1: | Line 1: | ||
{{ | {{ServerResources}} | ||
== Dedicated Server (Linux) == | == Dedicated Server (Linux) == | ||
Installing a dedicated server is supported on [https://www.debian.org/CD/netinst/ 32 bit Debian 10]. <br> | Installing a dedicated server is supported on [https://www.debian.org/CD/netinst/ 32 bit Debian 10]. <br> |
Revision as of 07:10, 1 January 2024
Empires Server Resources |
Dedicated Server Setup | Cvars | Optimization | Sourcemod Plugins |
Dedicated Server (Linux)
Installing a dedicated server is supported on 32 bit Debian 10.
Debian 11 has some packages deprecated, this method will not work as described. However you can start with Debian 10 and then later upgrade to 11.
If you have a 64 bit install you might need to execute the following as root:
dpkg --add-architecture i386 apt update apt install lib32gcc1
Execute the following in a root shell to add the key and repository:
apt install gnupg2 curl https://deb1.ws.maxmaton.nl/debian/signing.pub | apt-key add - echo 'deb http://deb.maxmaton.nl/debian buster main non-free' > /etc/apt/sources.list.d/maxmaton.list apt update
On Debian 10 x64 (maybe even 9) you will also need to add non-free to each repository
(Error: empires-server:i386 : Depends: steamcmd:i386 but it is not installable)
As mentioned here: https://unix.stackexchange.com/questions/390075/install-steamcmd-on-debian-9-stretch
Do
apt edit-sources
And choose your favorite editor and add non-free to each repository
After that you can continue with:
apt update apt install empires-server
Your server is now up and running.
You might also need to manually port forward
Ports:
UDP 27005
TCP and UDP 27015
If you also want the community provided maps, you can install the empires-server-maps-extra package (warning, takes a long time to install):
apt install empires-server-maps-extra
Opening the server console
To open the server console, execute the following command:
su - empires -c "tmux attach"
To get out of the server console, dont do CTRL + C or you will kill the server
You can do CTRL + B and then CTRL + D to detach and get out of server console
You can do CTRL + B and then page up and page down to scroll higher in console, then ESC to get out of the CTRL + B mode (tmux basics, you can google them)
Server folder is located in /var/lib/empires
You can also start or stop the empires-server service
service empires-server stop service empires-server start
Dedicated Server (Windows/Linux)
The Empires Dedicated Server can be installed using the SteamCMD utility. The server has an appid of 460040, and must be downloaded while logged in as an anonymous user.
To install the server on Windows:
- Install SteamCMD.
- Open a command line window with elevated / local administrator privileges
- Browse to the location where SteamCMD was installed, and enter this command:
steamcmd.exe +login anonymous +app_update 460040 validate +quit
- This same command can also be used to update Empires Dedicated Server.
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:
- DoS Attack Fixer - Protects against A2C_PRINT and other spam.
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