Valheim сервер на Linux

Изображение яТ by Martina


Установка Valheim сервера на Linux (Ubuntu)x64


Для запуска сервера Valheim на Linux нам нужно сперва установить SteamCMD

Добавляем источники репозитория, если ваша система х64:
add-apt-repository multiverse
dpkg --add-arhitecture i386
apt update
Установка библиотеки для AMD64:
apt-get install lib32gcc1
 

Установка Steam CMD UBUNTU


Создаем папки Steam:
mkdir ~/Steam
Входим:
cd ~/Steam

Загружаем пакет steamcmd:
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

Извлекаем архив:
tar -xvzf steamcmd_linux.tar.gz
Создаём папку сервера:
cd ~/
mkdir ~/ValheimS
cd ~/ValheimS

Загружаем Valheim сервер при помощи STEAMCMD:
~/Steam/steamcmd.sh +force_install_dir +login anonymous ~/ValheimS +app_update 896660 +quit
​​​​​

В папке ~/ValheimS файл start_server.sh приводим к такому виду:
#!/bin/bash

exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>go.log 2>&1

export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970


echo "Starting server PRESS CTRL-C to exit"

#Your Settings
varName="Your SERVER NAME"
varPort=2456
varWorld="Your WORLD NAME"
varPass="Your PASSWORD"

# Tip: Make a local copy of this script to avoid it being overwritten by steam.
# NOTE: Minimum password length is 5 characters & Password cant be in the server name.
# NOTE: You need to make sure the ports 2456-2458 is being forwarded to your server through your local router & firewall.
~/Steam/steamcmd.sh +login anonymous +force_install_dir ~/ValheimS +app_update 896660 +quit
./valheim_server.x86_64 -name "$varName" -port $varPort -world "$varWorld" -password "$varPass" -public 1 > /dev/null &

export LD_LIBRARY_PATH=$templdpath

echo "Server started"
echo ""
#read -p "Press RETURN to stop server"
#echo 1 > server_exit.drp

#echo "Server exit signal set"
#echo "You can now close this terminal"

#check file
varCheckfile=~/.config/unity3d/IronGate/Valheim/worlds/$varWorld.db
echo $varCheckfile

while :
do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%s')
echo "valheim.service: timestamp $TIMESTAMP"


#check last modify date
varDateModify=$(date -r $varCheckfile '+%H:%M')
echo "Last World Safe $varDateModify"
varCurrtime=$(date '+%H:%M')
echo "Now time $varCurrtime"
#lastmod = current time? == WorldSave
if [[ $varDateModify == $varCurrtime ]]; then 
	echo "World Safe!!!"
else
	echo "..."
fi

sleep 60
done
Для varName, varPort, varWorld, varPass укажите свои значения.

Делаем копию файла start_server.sh
cp start_server.sh start_servercopy.sh
Переименовываем start_servercopy.sh в go.sh, будем запускать его, будет оригинал на случай обновления:
mv start_servercopy.sh go.sh
 



Запуск сервера Valheim в фоновом режиме:
setsid ./go.sh

Остановка сервера Valheim:
Создайте файл stop.sh с таким содержимым:
#!/bin/bash
echo "Process Stop Server..."
sleep 1
killall -9 -r -g go.
echo "Process Killed."
sleep 1
echo "Server STOP"
sleep 1
killall -9 -r -g stop.
exit 0
Используйте ./stop.sh для остановки.

Пепезапуск сервера Valheim:
Создайте файл restart.sh с таким содержимым:
#!/bin/bash
echo "Stop Server..."
sleep 1
killall -9 -r -g go.
echo "Process Killed."
sleep 3
(setsid "./go.sh" &);
echo "Run Server..."
sleep 2
echo "Server Restart Succefully[!]"
sleep 1
killall -9 -r -g restart.
exit 0
Используйте ./restart.sh для перезапуска.
 
Как сделать сервер Valheim доступны для других игроков?

Нужно иметь статический внешний IP-Address и сделать проброс портов указанных в start_server.sh пробрасываем 2456-2458 на роутере. 

Как проверить доступность сервера Valheim?

Зайдите в Steam, в верхнем меню слева вкладка "Вид" -> "Серверы".
В Окне "Серверов" вкладка "Избранное" -> "Добавить сервер".
Пропишите ваш IP-Address и PORT: 123.123.123.123:2457 (Используйте порт +1 от -port в start_server.sh )
 
Как переместить мир Valheim из Windows на Linux ?

Путь мира Valheim на Windows:
AppData\LocalLow\IronGate\
Путь мира Valheim на Linux:
~/.config/unity3d/IronGate/
Заменяем папку Valheim с перезаписью.


В консоли при обновлении приложения встречаете ошибку:
Warning: failed to init SDL thread priority manager: SDL not found
Поставьте библиотеку SDL x32
apt-get install libsdl2-2.0-0:i386 -y
Файлы в топике: Хотите скачать? Авторизируйтесь! | Нет аккаунта? Зарегистрируйтесь!
Статья "Valheim сервер на Linux" содержит 0 комментариев
Автор топика запретил добавлять комментарии