Skip to content

1. Vanilla Setup

If you have any trouble following the guide, please send us a message on Discord or the Uuvana Forums. We are more than happy to help you out!

1.1 Requirements and Pre-requisites

  • GIT installed in your system;
  • GIT LFS installed in your system;
  • SteamCMD installed in your system;
  • Broadband internet connection;
  • Router with the ability to port forward;
  • Min. 2 GB RAM;
  • Min. 64-bit Linux Operating System.

1.2 System Setup

1.2.1 Creating user and group to run the server

sudo useradd -m -d /home/steam steamcmd

Make sure you choose a secure password.

sudo passwd steamcmd

sudo usermod -aG sudo steamcmd
sudo su steamcmd

1.2.2 Installing GIT, GIT Large file system and other requisits

.pak files are large and we need to install Git LFS in order to download them.

Run the following commands according to your chosen system:

Ubuntu/Debian
sudo apt update
sudo apt install git git-lfs steamcmd

Note: If you are using a 64 bit machine you will need to add multiverse.

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 steamcmd
Arch-Linux
sudo pacman -Sy
sudo pacman -S git git-lfs
git clone https://aur.archlinux.org/steamcmd.git
cd steamcmd
makepkg -si
sudo ln -s /usr/games/steamcmd /home/steam/steamcmd
Fedora
sudo yum update
sudo yum install git git-lfs steamcmd

1.2.3 Installing Steam SDK

The Steam server browser needs SteamSDK. For this, we need to install SteamCMD which needs to be done under the SteamCMD user:

Make sure we are in the steamcmd user home directory:

cd ~/

Create the SteamCMD directory:

mkdir steamcmd-source

Go into the newly created SteamCMD directory:

cd steamcmd-source

Now download the compressed SteamCMD installer:

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

After that, extract it:

tar -xvzf steamcmd_linux.tar.gz

Finally run SteamCMD to login, install a app update and quit upon completion with the following command:

./steamcmd.sh +force_install_dir . +login anonymous +app_update 1007 +quit

Steam CMD will install updates automatically and login to install 64-bit SDK.

1.2.4 Copying Steam SDK to the right place

We still need to move the SDK to default location where the server can interact with it:

Go to the steam folder:

cd ~/.steam

Create folder for the 64-bits SDK:

mkdir sdk64

Copy the required steamclient.so file from SteamCMD:

cp ~/steamcmd-source/linux64/steamclient.so ~/.steam/sdk64/

1.3 Port-forwarding and Firewalls

If you are running this in your home network it will be necessary to do port forwarding or open ports in your firewall. For port forwarding instructions, please refer to the information/documentation provided by your ISP or router/modem manufacturer.

For opening ports in your linux machine use the following depending on the firewall software you are using:

Warning

In other tutorials it is asked to open the TCP Port 7777, do not do it. Unreal Engine doesn't use TCP connections - you would be leaving a unused port open by doing so!

IPTables

sudo iptables -I INPUT -p udp --dport 7777 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 27016 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 27016 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 27015 -j ACCEPT

Uncomplicated Firewall (UFW)

sudo ufw allow 7777/udp
sudo ufw allow 27016
sudo ufw allow 27015

1.4 Installing the server

In this step let's first return to the steamcmd user home directory:

cd ~/

Then we will clone the linux repository:

git clone https://github.com/Uuvana-Studios/longvinter-linux-server.git

Then we want to give permission for this folder to execute commands with:

sudo chmod -R ugo+rwx longvinter-linux-server/

1.5 Customizing the server

Server values can be customized with Game.ini

Create the file for edit with:

nano ~/longvinter-linux-server/Longvinter/Saved/Config/LinuxServer/Game.ini

Add the following content there:

[/Game/Blueprints/Server/GI_AdvancedSessions.GI_AdvancedSessions_C]
ServerName=Unnamed Island
ServerTag=Default
MaxPlayers=32
ServerMOTD=Welcome to Longvinter Island!
Password=
CommunityWebsite=www.longvinter.com

[/Game/Blueprints/Server/GM_Longvinter.GM_Longvinter_C]
AdminSteamID=76561198965966997
PVP=true
TentDecay=true
MaxTents=2
ChestRespawnTime=600

1.5.1 What does each setting mean?

Setting name Used for Default value
ServerName It's the name that shows up in the server browser. Please don't call your server with OFFICIAL name. We want players to clearly know if they are joining a server that is hosted by other players. Unnamed Island
<<<<<<< HEAD
ServerTag It's the tag that allows for easier search of the server. Please don't use your the word OFFICIAL on it. We want players to clearly know if they are joining a server that is hosted by other players. And only place one tag. Default
ServerMOTD Server message that is on a signs around the island. 32
MaxPlayer Maximum allowed players that can connect at any given time. Welcome to Longvinter Island!
=======
ServerMOTD Server message that is on a signs around the island. Welcome to Longvinter Island!
MaxPlayer Maximum allowed players that can connect at any given time. 32
>>>>>>> e6189a2069adb03c5916b1a5f6935e1d6a3af8e1
CommunityWebsite Allows you to promote a website on a same place where the server message is shown. This link can be opened in-game. www.longvinter.com
Password Add you password here. Use only number and letters. If left empty there is no password on the server. (empty)
ChestRespawnTime How much is the maximum respawn time for loot chests. 600
AdminEosID Here you can add all the admins that you want to have in the server. Your EOS ID can be found in the general settings tab. If you want to add multiple separate the ID's with single space. 76561198965966997
PVP Here you write true or false if you want to enable/disable Player versus Player fights.
TentDecay Here you write true or false if you want to enable/disable tent decay to make sure there isn't an abundant number of abandoned tents in the server.
MaxTents Maximum allowed of tents that players that can place in the server

1.6 Running the server

1.6.1 Start the server manually with shell script

sh /home/steam/longvinter-linux-server/LongvinterServer.sh
sudo cp /home/steam/longvinter-linux-server/longvinter.service /etc/systemd/system/longvinter.service
sudo cp /home/steam/longvinter-linux-server/longvinter.socket /etc/systemd/system/longvinter.socket
sudo systemctl daemon-reload

1.6.2.1 How to use Systemd Management

  1. How to start the server:

    sudo systemctl start longvinter.service
    

  2. How to stop the server:

    sudo systemctl stop longvinter.service
    

  3. How to restart the server:

    sudo systemctl restart longvinter.service
    

  4. How to enable the server to start on boot:

    sudo systemctl enable longvinter.service
    

  5. How to check status the server:

    sudo systemctl status longvinter.service
    

  6. How to see real-time logs of the server:

    sudo journalctl -u longvinter -f
    

  7. How to see all the logs of the server:

    sudo journalctl -u longvinter
    

  8. How to get the ID of the server(Requires server initialization first):
    ./LongvinterGetId.sh
    

If the console shows these lines at the bottom during or after startup, your server has started up correctly.

[2022.02.22-12.51.34:514][ 13]LogOnline: Verbose: STEAM: FOnlineAsyncEventSteamServerConnectedGS ServerId: Server[0x***************]
[2022.02.22-12.51.34:782][ 21]LogOnline: Verbose: STEAM: FOnlineAsyncEventSteamServerPolicyResponseGS Secure: 1
[2022.02.22-12.51.34:849][ 23]LogOnline: Verbose: OSS: Async task 'FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 1' succeeded in 2.828243 seconds
[2022.02.22-12.51.34:849][ 23]LogOnlineSession: Warning: STEAM: Server setting ,TOTPLAYING_s:0 overflows Steam SetGameTags call
[2022.02.22-12.51.34:849][ 23]LogOnlineSession: Warning: STEAM: Server setting ,ServerName_s:[EU] Uuvana 1 overflows Steam SetGameTags call

1.7 Server Maintenance

1.7.1 Updating the server

We have created an automated script that you can run to automatically update and restart a server.

bash /home/steam/longvinter-linux-server/LongvinterUpdate.sh

1.7.2 Backing up your saves

We have created an automated script that you can run to automatically backup and restart a server, for now it has to be run manually and it requires user input.

bash /home/steam/longvinter-linux-server/LongvinterBackup.sh

Last update: 2022-11-29
Created: 2022-11-29