Setting Up a Server: Difference between revisions
[checked revision] | [pending revision] |
→Troubleshooting: removed .net 4 |
FireDaemon (talk | contribs) →Windows: How to run the Eco Dedicated Server as a Windows service with FireDaemon Pro https://kb.firedaemon.com/support/solutions/articles/4000208582 |
||
(20 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
Eco servers are relatively easy to get running, and there are a couple of ways to set one up. | |||
If you own the game through Steam, you can get the server files and run the server through Steam. If you have a | If you own the game through Steam, you can get the server files and run the server through Steam. If you have a {{SLG}} account, you can download the server files directly through [https://play.eco/ Eco's website]. | ||
There are many server hosting companies that offer to host for Eco servers if you don't want to or can't run an Eco server on your computer. | There are many server hosting companies that offer to host for Eco servers if you don't want to or can't run an Eco server on your computer. | ||
== Server Through Steam == | == Server Through Steam == | ||
=== Installing === | === Installing === | ||
[[File:Server_Download_Location_Steam.jpg|Eco server download location in Steam.|thumb|600px]] | [[File:Server_Download_Location_Steam.jpg|Eco server download location in Steam.|thumb|600px]] | ||
To run an Eco server through Steam, you must also own the game [http://store.steampowered.com/app/382310/Eco/ on Steam]. | To run an Eco server through Steam, you must also own the game [http://store.steampowered.com/app/382310/Eco/ on Steam]. | ||
First, download and install the server. To do this, go to Steam -> Library -> Tools. There should be an entry in there called "Eco Server". Installing this will provide you with a copy of an Eco server that you can launch through Steam. The server is installed to: <pre>Steam\steamapps\common\Eco Server</pre> | First, download and install the server. To do this, go to Steam -> Library -> Tools. There should be an entry in there called "Eco Server". Installing this will provide you with a copy of an Eco server that you can launch through Steam. The server is installed to: <pre>Steam\steamapps\common\Eco Server</pre> | ||
=== Running === | === Running === | ||
The server can be launched like any other Steam game. It will show up in your recently played games if it has been run recently, or it can be launched through the Tools section of your Steam library. | The server can be launched like any other Steam game. It will show up in your recently played games if it has been run recently, or it can be launched through the Tools section of your Steam library. | ||
You are also able to navigate to the server's install location and launch EcoServer.exe manually. | You are also able to navigate to the server's install location and launch EcoServer.exe manually. | ||
=== Automating Launch === | |||
==== Windows ==== | |||
====== Task Scheduler ====== | |||
* Create a new task | |||
* Running as User whether Logged on or Not | |||
* Trigger at system start up | |||
* Create a bat program, update the directory to wherever you have it installed if different, with the following:<syntaxhighlight lang="bat" line="1"> | |||
cd "C:\Program Files (x86)\Steam\steamapps\common\Eco Server\" | |||
EcoServer.exe | |||
</syntaxhighlight>Setting the directory is important here as it will not start the server successfully if you try to do this using <code>start /d "path" "executable"</code> or by calling the executable directly. | |||
Windows Service | |||
You can also setup the Eco Dedicated Server as a Windows service with FireDaemon Pro. The instructions on setting up the Eco Dedicated Server service and corresponding Eco Dedicated Server Update service can be found in the FireDaemon Knowledge Base. You will need to Google that (site:kb.firedaemon.com game servers) as links to external sites are not permitted in this Wiki. | |||
=== Updating === | === Updating === | ||
Line 26: | Line 41: | ||
Updating a Steam server will ''not'' wipe the world, but ''may'' wipe configurations. Make sure you back up your configuration files before updating. | Updating a Steam server will ''not'' wipe the world, but ''may'' wipe configurations. Make sure you back up your configuration files before updating. | ||
== Server Through SteamCMD == | == Server Through SteamCMD == | ||
=== Installing === | === Installing === | ||
Line 33: | Line 47: | ||
Download steamCMD, unpack and launch it. | Download steamCMD, unpack and launch it. | ||
=== Downloading SteamCMD === | |||
==== Windows ==== | |||
1. Create a folder for SteamCMD. | |||
''For example:'' | |||
D:\steamcmd | |||
2. Download SteamCMD for Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip | |||
3. Extract the contents of the zip to the folder. | |||
==== Linux ==== | |||
Create a user account named ''steam'' to run SteamCMD safely, isolating it from the rest of the operating system. | |||
'''Warning:''' Do not run <code>steamcmd</code> while operating as the root user. Doing so is a security risk. | |||
1. As the root user, create the ''steam'' user: | |||
<syntaxhighlight lang="bash"> | |||
sudo useradd -m steam # Add a new user named 'steam' | |||
sudo passwd steam | |||
</syntaxhighlight> | |||
2. Go into its home folder: | |||
<syntaxhighlight lang="bash"> | |||
sudo -u steam -s | |||
cd /home/steam | |||
</syntaxhighlight> | |||
===== Package From Repositories ===== | |||
1. It's recommended to install the SteamCMD package from your distribution repositories, if available: | |||
Ubuntu/Debian: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt update | |||
sudo apt install steamcmd | |||
</syntaxhighlight> | |||
'''Note:''' If you are using a 64-bit machine, you will need to add multiverse: | |||
Dont forget to update, if you add multiverse before installing. | |||
<syntaxhighlight lang="bash"> | |||
sudo add-apt-repository multiverse | |||
sudo apt install software-properties-common | |||
sudo dpkg --add-architecture i386 | |||
sudo apt update | |||
sudo apt install lib32gcc-s1 libgdiplus steamcmd | |||
</syntaxhighlight> | |||
RedHat/CentOS: | |||
<syntaxhighlight lang="bash"> | |||
yum install steamcmd | |||
</syntaxhighlight> | |||
Arch Linux: | |||
<syntaxhighlight lang="bash"> | |||
git clone https://aur.archlinux.org/steamcmd.git | |||
cd steamcmd | |||
makepkg -si | |||
</syntaxhighlight> | |||
'''Note:''' You will need to have the base-devel package installed to execute makepkg: | |||
<syntaxhighlight lang="bash"> | |||
sudo pacman -Syy base-devel | |||
</syntaxhighlight> | |||
2. Link the <code>steamcmd</code> executable: | |||
<syntaxhighlight lang="bash"> | |||
sudo ln -s /usr/games/steamcmd /home/steam/steamcmd | |||
</syntaxhighlight> | |||
NixOS: | |||
steamcmd is packaged on NixOS. You will also need a modified steam-run to actually run Eco. Bring both into an ephemeral shell with: | |||
nix-shell -p steamcmd '(steam.override {extraPkgs = pkgs: [ openssl libgdiplus ]; }).run' | |||
And then run Eco with: | |||
steam-run ./EcoServer | |||
Docker: | |||
If your server is running Docker, you can simply use: | |||
<syntaxhighlight lang="bash"> | |||
docker run -it --name=steamcmd cm2network/steamcmd bash | |||
</syntaxhighlight> | |||
<code>steamcmd.sh</code> is located at <code>/home/steam/steamcmd</code>. | |||
This image can be used as a base image for Steam-based dedicated servers. Example: [2] | |||
You can find the associated Docker Hub page here: [3] | |||
===== Manually ===== | |||
1. Before you begin, you must first install the dependencies required to run SteamCMD: | |||
Ubuntu/Debian (x86-64): | |||
<syntaxhighlight lang="bash"> | |||
sudo apt-get install lib32gcc-s1 | |||
</syntaxhighlight> | |||
RedHat/CentOS (x86-64): | |||
<syntaxhighlight lang="bash"> | |||
yum install glibc.i686 libstdc++.i686 | |||
</syntaxhighlight> | |||
2. As the root user, escalate to the ''steam'' user: | |||
<syntaxhighlight lang="bash"> | |||
su - steam | |||
</syntaxhighlight> | |||
If you're not logging in as root and you instead use <code>sudo</code> to perform administration, escalate to the ''steam'' user as follows: | |||
<syntaxhighlight lang="bash"> | |||
sudo -iu steam | |||
</syntaxhighlight> | |||
3. Create a directory for SteamCMD and switch to it. | |||
<syntaxhighlight lang="bash"> | |||
mkdir ~/Steam && cd ~/Steam | |||
</syntaxhighlight> | |||
4. Download and extract SteamCMD for Linux. | |||
<syntaxhighlight lang="bash"> | |||
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - | |||
</syntaxhighlight> | |||
5. Install tmux and/or screen for easy server management. | |||
<syntaxhighlight lang="bash"> | |||
sudo apt-get install tmux screen -y; | |||
</syntaxhighlight> | |||
=== Manually === | === Manually === | ||
Set the install directory by typing:<pre>force_install_dir ./Eco_Server</pre> | |||
Guide to downloading the server manually through SteamCMD: | Guide to downloading the server manually through SteamCMD: | ||
Double Click the steamcmd.exe | Double Click the steamcmd.exe | ||
Line 40: | Line 181: | ||
Once loaded login by typing in: | Once loaded login by typing in: | ||
<pre>login anonymous</pre> | <pre>login anonymous</pre> | ||
This will install the server in a subdirectory within the SteamCMD directory called "Eco_Server". | This will install the server in a subdirectory within the SteamCMD directory called "Eco_Server". | ||
Finally to download the server itself type: | Finally to download the server itself type: | ||
Line 47: | Line 186: | ||
This will download the server. Or when you want to update the server will start downloading the latest version overwriting all the files of the downloaded server. | This will download the server. Or when you want to update the server will start downloading the latest version overwriting all the files of the downloaded server. | ||
<span style="color: # | <span style="color: #ff0000;">(Please make sure you do not run your server from the same directory just in case you decide to use this method to update and forget to back up your data.)</span> | ||
=== With a bat file === | === With a bat file === | ||
If you want to use a batch file (.bat) make a batch file and put one of the following codes into the file. | If you want to use a batch file (.bat) make a batch file and put one of the following codes into the file. | ||
Line 55: | Line 193: | ||
Suggestion A: | Suggestion A: | ||
<pre> | <pre> | ||
steamcmd.exe | steamcmd.exe +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit | ||
</pre> | </pre> | ||
Suggestion B: | Suggestion B: | ||
<pre> | <pre> | ||
steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 | steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit | ||
</pre> | </pre> | ||
These commands will automatically download the eco-server and place it in a folder named "Eco Server". (Inside the SteamCMD folder). | These commands will automatically download the eco-server and place it in a folder named "Eco Server". (Inside the SteamCMD folder). | ||
Please copy the new folder and the server data in it to the location you want to host your server from. | Please copy the new folder and the server data in it to the location you want to host your server from. | ||
Line 72: | Line 208: | ||
== Server Without Steam == | == Server Without Steam == | ||
=== Installing === | === Installing === | ||
[[File:Server_Download_Location_SLG.jpg|Eco server download location on Eco website.|thumb|600px]] | |||
[[File:Server_Download_Location_SLG.jpg|Eco server download location on | To run a server locally without Steam, you first need to grab the server files from [https://play.eco/ Eco's website] under "Account". This requires you to sign in to your SLG account and to have purchased Eco through that account or a linked Steam account. On the account page, there is a section that lists the current version of Eco and the current staging release with download links for both. Clicking on the "Server" link for the version you want will download a .zip file of the server. | ||
To run a server locally without Steam, you first need to grab the server files from [ | |||
When the server is done downloading, move the .zip file to wherever you want to install the server. It is recommended to install the server into an empty folder. When you have the .zip file in the location where you want to install the server, unzip it using whichever compression program you prefer (common programs include WinRar, 7-zip, and WinZip). | When the server is done downloading, move the .zip file to wherever you want to install the server. It is recommended to install the server into an empty folder. When you have the .zip file in the location where you want to install the server, unzip it using whichever compression program you prefer (common programs include WinRar, 7-zip, and WinZip). | ||
Line 81: | Line 216: | ||
'''IMPORTANT''' If you are installing a dedicated server on the same computer you have or will be running the client from, ''Network.eco'' will need to use 2 different ports other then 3000 and 3001. [''Example = 4000 and 4001''] Port Forward these two new ports. | '''IMPORTANT''' If you are installing a dedicated server on the same computer you have or will be running the client from, ''Network.eco'' will need to use 2 different ports other then 3000 and 3001. [''Example = 4000 and 4001''] Port Forward these two new ports. | ||
=== Running === | === Running === | ||
To run the server, you just have to launch the EcoServer.exe file in the server's install. | To run the server, you just have to launch the EcoServer.exe file in the server's install. | ||
The first time the server is run it may take a while for the world to generate. This is normal. Some settings, such as the world's size, can make this a longer or shorter wait. The main server UI won't appear until the world is done generating and loading. | The first time the server is run it may take a while for the world to generate. This is normal. Some settings, such as the world's size, can make this a longer or shorter wait. The main server UI won't appear until the world is done generating and loading. | ||
=== Updating === | === Updating === | ||
Updating the server must be done manually. This will require you to go back to SLG's website and download the new version of the server files. You can replace the older version of the server files with the newer version's files. But if you want to keep the same world and the same configuration settings, you have to make sure not to overwrite those files (the Storage and Configs folders). | Updating the server must be done manually. This will require you to go back to SLG's website and download the new version of the server files. You can replace the older version of the server files with the newer version's files. But if you want to keep the same world and the same configuration settings, you have to make sure not to overwrite those files (the Storage and Configs folders). | ||
Line 93: | Line 226: | ||
See [[Updating a Server]] for more details on updating your server manually. | See [[Updating a Server]] for more details on updating your server manually. | ||
== Configuring == | == Configuring == | ||
There are tons of options for configuring your server and your playing experience. You can edit these options by directly changing the files in the Configs folder of the server with any text editor. But doing the edits manually, you will need to restart the server to see the changes in-game. Most of these configurations can be changed from the server UI as well, and changes made in the UI don't require a restart from the server. | There are tons of options for configuring your server and your playing experience. You can edit these options by directly changing the files in the Configs folder of the server with any text editor. But doing the edits manually, you will need to restart the server to see the changes in-game. Most of these configurations can be changed from the server UI as well, and changes made in the UI don't require a restart from the server. | ||
Line 101: | Line 232: | ||
The recommended ports are: | The recommended ports are: | ||
- Game Server Port: | - Game Server Port: 3000 UDP (or UDP/TCP) | ||
- Web Server Port: | - Web Server Port: 3001 TCP (or UDP/TCP) | ||
See [[Setting Up a Server (advanced)]] for more details on configuring your server. | See [[Setting Up a Server (advanced)]] for more details on configuring your server. | ||
=== Configuration Notes === | === Configuration Notes === | ||
# Edits to WorldGenerator.eco require a server wipe to take effect. | # Edits to WorldGenerator.eco require a server wipe to take effect. | ||
Line 113: | Line 243: | ||
# When changing map height and depth you will have to do the maths to keep issues away, it is not recommended. | # When changing map height and depth you will have to do the maths to keep issues away, it is not recommended. | ||
# When setting up whitelists/admins you must use either an SLG id or Steam64 id, just writing the username does not work. Here is a link to find your steam64id: http://www.steam64.com | # When setting up whitelists/admins you must use either an SLG id or Steam64 id, just writing the username does not work. Here is a link to find your steam64id: http://www.steam64.com | ||
=== Server Folder Breakdown === | === Server Folder Breakdown === | ||
* '''Configs''' — Files in this folder contain the configurable settings for the server. You can edit any of the .eco files with a text editor but be careful doing so. Keep in mind none of your edits here will take effect unless you restart your game server (Turn it off and on again.) | * '''Configs''' — Files in this folder contain the configurable settings for the server. You can edit any of the .eco files with a text editor but be careful doing so. Keep in mind none of your edits here will take effect unless you restart your game server (Turn it off and on again.) | ||
Line 122: | Line 251: | ||
* '''Storage''' — This folder contains a backups folder, a file named "Game.db" and a file named "Game.eco". This is where your current game saves is. When wiping the server data/map this is where you will have to go. | * '''Storage''' — This folder contains a backups folder, a file named "Game.db" and a file named "Game.eco". This is where your current game saves is. When wiping the server data/map this is where you will have to go. | ||
* '''Web Client''' — The web server files are found here. | * '''Web Client''' — The web server files are found here. | ||
=== Eco Server UI === | === Eco Server UI === | ||
[[File:Server_UI_0.7.0.4.jpg|Eco server configuration GUI|thumb|600px]] | [[File:Server_UI_0.7.0.4.jpg|Eco server configuration GUI|thumb|600px]] | ||
The server UI provides access to a wide variety of configuration options. Changes made to config options in the UI will apply to the server without needing to restart the server. However, with any changes you make (such as adding an admin), you must click "'''File'''" and "'''Save'''" or else you will lose the changes upon reloading the server. | The server UI provides access to a wide variety of configuration options. Changes made to config options in the UI will apply to the server without needing to restart the server. However, with any changes you make (such as adding an admin), you must click "'''File'''" and "'''Save'''" or else you will lose the changes upon reloading the server. | ||
If you are renting a server through a server hosting company, you most likely do not have access to the default server UI. These companies usually provide a custom UI or other options for easily editing the server's configs. | If you are renting a server through a server hosting company, you most likely do not have access to the default server UI. These companies usually provide a custom UI or other options for easily editing the server's configs. | ||
=== Commands === | === Commands === | ||
See [[Chat Commands]] for a complete list of commands that are available to both admins and regular users in a default server. | See [[Chat Commands]] for a complete list of commands that are available to both admins and regular users in a default server. | ||
=== Server UI Notes === | === Server UI Notes === | ||
(Please do check the normal configuration notes too.) | (Please do check the normal configuration notes too.) | ||
Line 139: | Line 264: | ||
2. When making a change to your settings through the Server UI remember to click on file -> save to save the edit to the config files. | 2. When making a change to your settings through the Server UI remember to click on file -> save to save the edit to the config files. | ||
== Connecting to your server == | == Connecting to your server == | ||
=== LAN === | === LAN === | ||
Line 147: | Line 271: | ||
''Note: The latest server versions don't require you to forward your ports, but server versions before 0.7.4 require manual port forwarding. If you are using an older server version you will have to manually forward.'' | ''Note: The latest server versions don't require you to forward your ports, but server versions before 0.7.4 require manual port forwarding. If you are using an older server version you will have to manually forward.'' | ||
=== Getting others to connect to your server === | === Getting others to connect to your server === | ||
NOTE: Before giving others your IP please check that your server is visible with either of these websites: | NOTE: Before giving others your IP please check that your server is visible with either of these websites: | ||
* http://canyouseeme.org/ | * http://canyouseeme.org/ | ||
* https://www.yougetsignal.com/tools/open-ports/ | * https://www.yougetsignal.com/tools/open-ports/ | ||
Default ports to check are: 3000-UDP and 3001-TCP (Unless you changed them in the config phase.) | |||
Gameport needs UDP and web port needs TCP (Both can be used for each if you want).<br> | |||
3000-TCP might be used when downloading mods from the server, but this is not totally confirmed. | |||
Gameport needs UDP and web port needs TCP (Both can be used for each if you want). | |||
Navigate to https://www.whatismyip.com/ and grab your public IP. | Navigate to https://www.whatismyip.com/ and grab your public IP. | ||
Line 164: | Line 287: | ||
Now that you have the server address. Give that to your friends and they should be able to connect if you've set up the server correctly. | Now that you have the server address. Give that to your friends and they should be able to connect if you've set up the server correctly. | ||
== Troubleshooting == | == Troubleshooting == | ||
See [[Setting Up a Server (advanced)]] for more details on server troubleshooting. | See [[Setting Up a Server (advanced)]] for more details on server troubleshooting. | ||
=== NAT and Network Settings === | === NAT and Network Settings === | ||
(NOTE: NAT Punchthrough has been added since version 0.7.4 of the server and NAT based settings have been removed) | (NOTE: NAT Punchthrough has been added since version 0.7.4 of the server and NAT based settings have been removed) | ||
Line 175: | Line 295: | ||
The Network option in the top menu of the server UI has a button to refresh NAT. This will cause the server to recheck the NAT and can potentially solve some NAT issues. | The Network option in the top menu of the server UI has a button to refresh NAT. This will cause the server to recheck the NAT and can potentially solve some NAT issues. | ||
=== Anti-Virus / Firewall === | === Anti-Virus / Firewall === | ||
Some Anti-Virus solutions will block your server from talking and subsequently prevent players from seeing it online. | Some Anti-Virus solutions will block your server from talking and subsequently prevent players from seeing it online. | ||
Line 182: | Line 301: | ||
When it comes to firewalls and NAT your router may not be working correctly with NAT or not have it at all so you may have to manually port forward your ports. On both your pc firewall and the router. See [[Setting Up a Server (advanced)]] for more details. | When it comes to firewalls and NAT your router may not be working correctly with NAT or not have it at all so you may have to manually port forward your ports. On both your pc firewall and the router. See [[Setting Up a Server (advanced)]] for more details. | ||
=== For Further Help === | === For Further Help === | ||
Join the | Join the {{EcoDiscord}} and visit the '''#server-help''' channel for support. | ||
[[Category: Server management]] | [[Category: Server management]] | ||
[[Category: Tutorials]] | [[Category: Tutorials]] |
Latest revision as of 04:25, 30 July 2024
Eco servers are relatively easy to get running, and there are a couple of ways to set one up.
If you own the game through Steam, you can get the server files and run the server through Steam. If you have a Strange Loop Games account, you can download the server files directly through Eco's website.
There are many server hosting companies that offer to host for Eco servers if you don't want to or can't run an Eco server on your computer.
Server Through Steam[edit | edit source]
Installing[edit | edit source]
To run an Eco server through Steam, you must also own the game on Steam.
First, download and install the server. To do this, go to Steam -> Library -> Tools. There should be an entry in there called "Eco Server". Installing this will provide you with a copy of an Eco server that you can launch through Steam. The server is installed to:
Steam\steamapps\common\Eco Server
Running[edit | edit source]
The server can be launched like any other Steam game. It will show up in your recently played games if it has been run recently, or it can be launched through the Tools section of your Steam library.
You are also able to navigate to the server's install location and launch EcoServer.exe manually.
Automating Launch[edit | edit source]
Windows[edit | edit source]
Task Scheduler[edit | edit source]
- Create a new task
- Running as User whether Logged on or Not
- Trigger at system start up
- Create a bat program, update the directory to wherever you have it installed if different, with the following:Setting the directory is important here as it will not start the server successfully if you try to do this using
cd "C:\Program Files (x86)\Steam\steamapps\common\Eco Server\" EcoServer.exe
start /d "path" "executable"
or by calling the executable directly.
Windows Service
You can also setup the Eco Dedicated Server as a Windows service with FireDaemon Pro. The instructions on setting up the Eco Dedicated Server service and corresponding Eco Dedicated Server Update service can be found in the FireDaemon Knowledge Base. You will need to Google that (site:kb.firedaemon.com game servers) as links to external sites are not permitted in this Wiki.
Updating[edit | edit source]
Eco Servers installed through Steam will update automatically just like any other Steam game.
To use other versions besides the current release, you can opt into "betas" like other Steam games. This can be done by viewing the server in your Steam Library -> Tools, right-clicking the server and selecting the properties, click the "Betas" tab, and selecting a different version from the drop-down.
If the drop-down menu has no options available, leave the code blank in the box below the drop-down and click "Check Code". You might need to close out of the properties window and re-open it to see the betas list after entering the blank code.
Updating a Steam server will not wipe the world, but may wipe configurations. Make sure you back up your configuration files before updating.
Server Through SteamCMD[edit | edit source]
Installing[edit | edit source]
Another way to install the Eco Server is to download it through SteamCMD. Steam WIKI article about steamCMD
Download steamCMD, unpack and launch it.
Downloading SteamCMD[edit | edit source]
Windows[edit | edit source]
1. Create a folder for SteamCMD.
For example: D:\steamcmd 2. Download SteamCMD for Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
3. Extract the contents of the zip to the folder.
Linux[edit | edit source]
Create a user account named steam to run SteamCMD safely, isolating it from the rest of the operating system.
Warning: Do not run steamcmd
while operating as the root user. Doing so is a security risk.
1. As the root user, create the steam user:
sudo useradd -m steam # Add a new user named 'steam'
sudo passwd steam
2. Go into its home folder:
sudo -u steam -s
cd /home/steam
Package From Repositories[edit | edit source]
1. It's recommended to install the SteamCMD package from your distribution repositories, if available:
Ubuntu/Debian:
sudo apt update
sudo apt install steamcmd
Note: If you are using a 64-bit machine, you will need to add multiverse:
Dont forget to update, if you add multiverse before installing.
sudo add-apt-repository multiverse
sudo apt install software-properties-common
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 libgdiplus steamcmd
RedHat/CentOS:
yum install steamcmd
Arch Linux:
git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -si
Note: You will need to have the base-devel package installed to execute makepkg:
sudo pacman -Syy base-devel
2. Link the steamcmd
executable:
sudo ln -s /usr/games/steamcmd /home/steam/steamcmd
NixOS:
steamcmd is packaged on NixOS. You will also need a modified steam-run to actually run Eco. Bring both into an ephemeral shell with:
nix-shell -p steamcmd '(steam.override {extraPkgs = pkgs: [ openssl libgdiplus ]; }).run'
And then run Eco with:
steam-run ./EcoServer
Docker:
If your server is running Docker, you can simply use:
docker run -it --name=steamcmd cm2network/steamcmd bash
steamcmd.sh
is located at /home/steam/steamcmd
.
This image can be used as a base image for Steam-based dedicated servers. Example: [2]
You can find the associated Docker Hub page here: [3]
Manually[edit | edit source]
1. Before you begin, you must first install the dependencies required to run SteamCMD:
Ubuntu/Debian (x86-64):
sudo apt-get install lib32gcc-s1
RedHat/CentOS (x86-64):
yum install glibc.i686 libstdc++.i686
2. As the root user, escalate to the steam user:
su - steam
If you're not logging in as root and you instead use sudo
to perform administration, escalate to the steam user as follows:
sudo -iu steam
3. Create a directory for SteamCMD and switch to it.
mkdir ~/Steam && cd ~/Steam
4. Download and extract SteamCMD for Linux.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
5. Install tmux and/or screen for easy server management.
sudo apt-get install tmux screen -y;
Manually[edit | edit source]
Set the install directory by typing:
force_install_dir ./Eco_Server
Guide to downloading the server manually through SteamCMD: Double Click the steamcmd.exe Wait until it finishes updating and deploying SteamCMD Once loaded login by typing in:
login anonymous
This will install the server in a subdirectory within the SteamCMD directory called "Eco_Server". Finally to download the server itself type:
app_update 739590 validate
This will download the server. Or when you want to update the server will start downloading the latest version overwriting all the files of the downloaded server.
(Please make sure you do not run your server from the same directory just in case you decide to use this method to update and forget to back up your data.)
With a bat file[edit | edit source]
If you want to use a batch file (.bat) make a batch file and put one of the following codes into the file. These commands assume the .bat file is located inside the SteamCMD directory or pointing towards it.
Suggestion A:
steamcmd.exe +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit
Suggestion B:
steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit
These commands will automatically download the eco-server and place it in a folder named "Eco Server". (Inside the SteamCMD folder). Please copy the new folder and the server data in it to the location you want to host your server from.
When needing to update that server just run the .bat file again and it will update the base game server files inside the SteamCMD then you can follow the other update instructions to update your game server.
Do not run the downloaded server inside the SteamCMD folder itself. You want to keep that version as a backup and reference to an unedited server.
Server Without Steam[edit | edit source]
Installing[edit | edit source]
To run a server locally without Steam, you first need to grab the server files from Eco's website under "Account". This requires you to sign in to your SLG account and to have purchased Eco through that account or a linked Steam account. On the account page, there is a section that lists the current version of Eco and the current staging release with download links for both. Clicking on the "Server" link for the version you want will download a .zip file of the server.
When the server is done downloading, move the .zip file to wherever you want to install the server. It is recommended to install the server into an empty folder. When you have the .zip file in the location where you want to install the server, unzip it using whichever compression program you prefer (common programs include WinRar, 7-zip, and WinZip).
At this point, your install folder should have a handful of folders with various files and the EcoServer.exe. You are now able to run your server but to make the server publicly visible, you need to do port forwarding. The process for port forwarding is different for different routers, and there are plenty of detailed tutorials on how to this process around the internet. The ports you need to open are 3000 UDP and 3001 TCP.
IMPORTANT If you are installing a dedicated server on the same computer you have or will be running the client from, Network.eco will need to use 2 different ports other then 3000 and 3001. [Example = 4000 and 4001] Port Forward these two new ports.
Running[edit | edit source]
To run the server, you just have to launch the EcoServer.exe file in the server's install.
The first time the server is run it may take a while for the world to generate. This is normal. Some settings, such as the world's size, can make this a longer or shorter wait. The main server UI won't appear until the world is done generating and loading.
Updating[edit | edit source]
Updating the server must be done manually. This will require you to go back to SLG's website and download the new version of the server files. You can replace the older version of the server files with the newer version's files. But if you want to keep the same world and the same configuration settings, you have to make sure not to overwrite those files (the Storage and Configs folders).
It is a good idea to always back up your server files before updating. That way you can revert to the old version if the install gets messed up or if there is some issue with the new version.
See Updating a Server for more details on updating your server manually.
Configuring[edit | edit source]
There are tons of options for configuring your server and your playing experience. You can edit these options by directly changing the files in the Configs folder of the server with any text editor. But doing the edits manually, you will need to restart the server to see the changes in-game. Most of these configurations can be changed from the server UI as well, and changes made in the UI don't require a restart from the server.
If you are going to be playing on the same PC as the PC you are hosting the server from please change your ports to something else. The recommended ports are:
- Game Server Port: 3000 UDP (or UDP/TCP)
- Web Server Port: 3001 TCP (or UDP/TCP)
See Setting Up a Server (advanced) for more details on configuring your server.
Configuration Notes[edit | edit source]
- Edits to WorldGenerator.eco require a server wipe to take effect.
- Whitelisting allows whitelisted players to ignore the requirement for a password but for whitelisting to work you must set a password.
- When changing the map size keep the map values divisible by 4 or risk severe issues.
- When changing map height and depth you will have to do the maths to keep issues away, it is not recommended.
- When setting up whitelists/admins you must use either an SLG id or Steam64 id, just writing the username does not work. Here is a link to find your steam64id: http://www.steam64.com
Server Folder Breakdown[edit | edit source]
- Configs — Files in this folder contain the configurable settings for the server. You can edit any of the .eco files with a text editor but be careful doing so. Keep in mind none of your edits here will take effect unless you restart your game server (Turn it off and on again.)
- doc — Contains a single file with definitions for the webserver.
- Logs — This folder only appears if you've installed a mod that has crashed. It contains mod crash logs.
- Dump — Contains crash dump files for when the server crashes.
- Mods — Contains server game data. This is also the folder where you should place any mods you've made or downloaded.
- Storage — This folder contains a backups folder, a file named "Game.db" and a file named "Game.eco". This is where your current game saves is. When wiping the server data/map this is where you will have to go.
- Web Client — The web server files are found here.
Eco Server UI[edit | edit source]
The server UI provides access to a wide variety of configuration options. Changes made to config options in the UI will apply to the server without needing to restart the server. However, with any changes you make (such as adding an admin), you must click "File" and "Save" or else you will lose the changes upon reloading the server.
If you are renting a server through a server hosting company, you most likely do not have access to the default server UI. These companies usually provide a custom UI or other options for easily editing the server's configs.
Commands[edit | edit source]
See Chat Commands for a complete list of commands that are available to both admins and regular users in a default server.
Server UI Notes[edit | edit source]
(Please do check the normal configuration notes too.)
1. Changing world generator settings won't take effect until you wipe and regenerate the map. This includes map sizes.
2. When making a change to your settings through the Server UI remember to click on file -> save to save the edit to the config files.
Connecting to your server[edit | edit source]
LAN[edit | edit source]
When first attempting to connect to your server, make sure it is running, then enter your game and visit the server browser.
Your server should appear in the server list under "LAN". If the server is public, you should be able to see it in the server browser.
Note: The latest server versions don't require you to forward your ports, but server versions before 0.7.4 require manual port forwarding. If you are using an older server version you will have to manually forward.
Getting others to connect to your server[edit | edit source]
NOTE: Before giving others your IP please check that your server is visible with either of these websites:
Default ports to check are: 3000-UDP and 3001-TCP (Unless you changed them in the config phase.)
Gameport needs UDP and web port needs TCP (Both can be used for each if you want).
3000-TCP might be used when downloading mods from the server, but this is not totally confirmed.
Navigate to https://www.whatismyip.com/ and grab your public IP.
Now add the server's configured game port at the end. (Game Port not Web Port) It should look something like this: xxx.xx.xx.xx:3000
For example: 290.94.93.89:3000
Now that you have the server address. Give that to your friends and they should be able to connect if you've set up the server correctly.
Troubleshooting[edit | edit source]
See Setting Up a Server (advanced) for more details on server troubleshooting.
NAT and Network Settings[edit | edit source]
(NOTE: NAT Punchthrough has been added since version 0.7.4 of the server and NAT based settings have been removed)
You can view the NAT settings for your server in the Network tab of the server UI. When the Network tab is clicked (tab, not the menu option at the top of the UI) it will show 3 tabs, Config, Display, and Graphs. The Display tab will show the status of NAT, and the Config tab will allow you to enable or disable auto-detection for NAT.
The Network option in the top menu of the server UI has a button to refresh NAT. This will cause the server to recheck the NAT and can potentially solve some NAT issues.
Anti-Virus / Firewall[edit | edit source]
Some Anti-Virus solutions will block your server from talking and subsequently prevent players from seeing it online.
Either allow the game ports to function through the Anti-Virus.
When it comes to firewalls and NAT your router may not be working correctly with NAT or not have it at all so you may have to manually port forward your ports. On both your pc firewall and the router. See Setting Up a Server (advanced) for more details.
For Further Help[edit | edit source]
Join the Eco Discord server and visit the #server-help channel for support.