Editing Setting Up a Server

From Eco - English Wiki

Your changes will be displayed to readers once an authorized user accepts them. (help)

Notice: Some of the pending changes affect the area of the page you are editing. (show those changes)

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Eco servers are relatively easy to get running, and there are a couple of ways to set one up.  
[[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 [https://play.eco/ Eco's website].  
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 [http://www.strangeloopgames.com/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 ===
<!-- Image -->
[[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.


=== Updating ===
=== Updating ===
Line 36: Line 26:


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 42: Line 33:


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 176: Line 40:
Once loaded login by typing in:
Once loaded login by typing in:
<pre>login anonymous</pre>
<pre>login anonymous</pre>
Set the install directory by typing:
<pre>force_install_dir ./Eco_Server</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 181: Line 47:
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: #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>
<span style="color: #e0ff66;">(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 188: Line 55:
Suggestion A:
Suggestion A:
<pre>
<pre>
steamcmd.exe +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit
steamcmd.exe +login anonymous +force_install_dir "./Eco Server" +app_update 739590 validate +quit
</pre>
</pre>
Suggestion B:
Suggestion B:
<pre>
<pre>
steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +force_install_dir "./Eco Server" +login anonymous +app_update 739590 validate +quit
steamcmd.exe +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir "./Eco Server" +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 203: Line 72:
== Server Without Steam  ==
== Server Without Steam  ==
=== Installing ===
=== Installing ===
<!-- Image -->
[[File:Server_Download_Location_SLG.jpg|Eco server download location on Strange Loop Games website.|thumb|600px]]
[[File:Server_Download_Location_SLG.jpg|Eco server download location on Strange Loop Games website.|thumb|600px]]
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 [http://www.strangeloopgames.com/eco/ Strange Loop Game'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).
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 211: Line 81:


'''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 221: Line 93:


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 ==
{{Main|Server Configuration}}
{{Main|Server Configuration}}
Line 228: Line 101:
The recommended ports are:
The recommended ports are:


- Game Server Port: 3000 UDP (or UDP/TCP)
- Game Server Port: 4000 UDP (or UDP/TCP)


- Web Server Port: 3001 TCP (or UDP/TCP)
- Web Server Port: 4001 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 239: Line 113:
# 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 247: Line 122:
* '''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 ===
<!-- image -->
[[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 260: Line 139:


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 267: Line 147:


''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>
Default ports to check are: 2999, 3000 and 3001 (Unless you changed them in the config phase.)
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 283: Line 164:


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 291: Line 175:


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.
=== Update .NET Framework 4 ===
Eco Server uses the .NET Framework 4. If you are encountering errors, you may be running an out-of-date version. You can get the latest 4.6.2 version here: https://www.microsoft.com/en-us/download/details.aspx?id=53345
=== 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 297: Line 185:


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 {{Eco Discord}} and visit the '''#server-help''' channel for support.
Join the discord server and visit the support staff in the #support channel.
 
[[Category: Server management]]
[[Category: Server management]]
[[Category: Tutorials]]
[[Category: Tutorials]]
Please note that all contributions to Eco - English Wiki are considered to be released under the CC BY-NC-SA 4.0 (see Eco:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Templates used on this page: