ETS2_Server for 128
制期:20241029
参考文档:
- SteamCMD:https://developer.valvesoftware.com/wiki/SteamCMD
- ETS2_Server:https://modding.scssoft.com/wiki/Documentation/Tools/Dedicated_Server
一、前言
目前可以支持的平台有:
通信原理:
ETS_Server 所需配置文件,有三个:
二、CentOS7.9 | ETS2_Server
如果还没有模板机,先完成以下步骤:
【1、安装最小化CentOS虚拟主机】 https://www.bilibili.com/video/BV1sh4y1G74Q/?share_source=copy_web&vd_source=9e61943362426910fc78865eae4c1668
【2、CentOS配置静态ip地址】 https://www.bilibili.com/video/BV1wN411k714/?share_source=copy_web&vd_source=9e61943362426910fc78865eae4c1668
2.1、更新yum
源:
更新源:
sudo yum update -y
更新失败-清空源:
清空源
sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
清空yum缓存
sudo yum clean all
验证:
yum repolist
更换阿里源:https://developer.aliyun.com/article/704987
下载CentOS 7的repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清除缓存:
yum clean all
清除缓存:
yum makecache
2.2、创建 steam 用户
创建 steam 用户
useradd steam
给 steam 用户设置密码:
passwd steam
2.3、安装SteamCMD:
- 在安装前确保你已经在root用户安装了
glibc.i686
运行库,否则脚本无法执行[FAQ1.1] - 在安装前确保你已经在root用户安装了
libatomic
运行库,否则脚本无法执行[FAQ1.2]
# 集成命令:
yum install glibc.i686 libstdc++.i686 libatomic libX11 -y
切换steam用户:
su - steam
创建目录:
我的分配,目录名可随意:
name | path |
---|---|
steamcmd | ~/steamcmd |
欧卡服务器 | ~/ets2_sv |
创建目录
创建 steamcmd && ets2_sv 目录:
mkdir -p ~/steamcmd ~/ets2_sv
下载SteamCMD:
切换目录:
cd ~/steamcmd/
下载脚本:
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
执行脚本:
./steamcmd.sh
看到 Steam>就好了
下载欧卡服务器:
更换软件安装地址(每次在登录前用):
force_install_dir ../ets2_sv/
登录Steam:
Steam>login <stean账号>
Cached credentials not found.
password: <这里输入密码不显示的>
Proceeding with login using username/password.
Logging in user '你的账号名字' [U:1:0] to Steam Public...
Enter the current code from your Steam Guard Mobile Authenticator app
Two-factor code: <这里输入令牌如果有的话>
OK # 等下面这三个ok,第一个是登录成功
Waiting for client config...OK # 客户端配置成功
Waiting for user info...OK # 用户信息获取成功
Steam> # 接下来就可以下载了
下载欧卡专用服务器,:
app_update 1948160 # 欧卡
app_update 2239530 # 美卡
看到Success! App
就可以退出steamcmd:
Steam>quit
2.4、配置欧卡服务器
创建软连接:
新建 .steam
文件夹:
mkdir -p ~/.steam/sdk64
创建 steamclient.so
软连接:把steamcmd中的steamclient.so 链接到 .steam中
ln -s ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so
生成欧卡文档目录:
首次启动欧卡服务器,生成主目录,可能回找不到共享库[FAQ1.1]/[FAQ1.2]
集成命令:
cd ~/ets2_sv/bin/linux_x64/ && ./server_launch.sh
2.5、使用客户机生成所需文件
请先提前选好开放mod,或者不用
生成所需文件:
打开你电脑上的欧卡,上游戏在控制台输入以下命令,控制台打不开请配置飞行模式[FAQ1.3]
执行后回卡顿3-5分钟是正常的,待鼠标可以动了就好了
export_server_packages
获取所需文件:
位置
C:\Users\用户名\Documents\Euro Truck Simulator 2
修改配置文件:
server_config.sii:
注释版:
SiiNunit
{
server_config : _nameless.24a.9a1f.bd00 {
lobby_name: "Euro Truck Simulator 2 server" //会话名称,限制为 63 个字符。
description: "" // 房间描述,限制为 63 个字符。
welcome_message: "" // 房间欢迎消息,限制为 127 个字符。
password: "" // 房间密码,限制为 63 个字符
max_players: 128 // 会话中的最大玩家数量,限制为 8 名玩家。
max_vehicles_total: 100 // 最大车辆总数
max_ai_vehicles_player: 50 // 最大人工智能车辆玩家数量
max_ai_vehicles_player_spawn: 50 // 最大AI车辆数量
connection_virtual_port: 100 // 连接虚拟端口
query_virtual_port: 101 // 查询虚拟端口
connection_dedicated_port: 27015 // 连接专用端口
query_dedicated_port: 27016 // 查询专用端口
server_logon_token: "" // Steam游戏服务器登录令牌(永久账户)
player_damage: true // 玩家之间的碰撞,建议开
traffic: true // 路上有没有AI车辆
hide_in_company: false // 标记远程玩家是否隐藏在公司区域
hide_colliding: true // 标志用于在传送后隐藏碰撞的车辆
force_speed_limiter: false // 卡车限速器,限速90
mods_optioning: false // 可选MOD,开启后需要高级筛选才可以显示房间,开启后支持使用【可选的MOD】的玩家进入房间
timezones: 0 // 时区,值0-2
service_no_collision: false // 服务器禁止碰撞,建议关(true)
in_menu_ghosting: false // 游戏暂停时禁用碰撞
name_tags: true // 是否显示玩家名字,建议开
friends_only: false //
show_server: true // 是否显示房间
moderator_list: 0 // 主持人人数
moderator_list[0]: 123456789 //用户 steam id
}
}
tokey:https://steamcommunity.com/dev/managegameservers填227300生成token填到这里
2.6、配置文件上传服务器
上传文件
切换欧卡目录:
cd ~/.local/share/Euro\ Truck\ Simulator\ 2/
将win中的三个文件(server_config.sii、server_packages.dat、server_packages.sii
)都上传覆盖这里来
之后每次更换模组都需要这么操作才行
2.7、启动/关闭服务
启动欧卡服务:
切换目录:
cd ~/ets2_sv/bin/linux_x64/
状态式启动(不可关闭终端):
cd ~/ets2_sv/bin/linux_x64/ && ./server_launch.sh
这个就是房间号:
让服务器脚本在后台运行并记录到当前目录的logs目录下
nohup sh ./server_launch.sh >> output.log 2>1 &
关闭:
查询进程id:
ps
杀掉进程:
kill
2.8、如何更新
FAQ
FAQ1.1
- 32位
glibc.i686
运行库问题:
./steamcmd.sh: /home/steam/steamcmd/linux32/steamcmd: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
切换root
用户安装库后,切换回steam
用户运行steamcmd.sh
即可:
yum install glibc.i686 libstdc++.i686 -y
FAQ1.2
- 系统找不到
libatomic.so.1
这个共享库
[steam@localhost linux_x64]$ cd ~/ets2_sv/bin/linux_x64/ && ./server_launch.sh
./eurotrucks2_server: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
[steam@localhost linux_x64]$
解决:
切换root用户:
su
下载libatomic.so.1
这个共享库
sudo yum install libatomic -y
完成后切换回steam用户
FAQ1.3
- 欧卡无法打开终端
在windwos中打开:
C:\Users\用户名\Documents\Euro Truck Simulator 2\config.cfg
修改配置文件,把后面的 0
改为 1
就好:
uset g_console "0"
uset g_developer "0"
[steam@localhost steamcmd]$ cd ~/ets2_sv/bin/linux_x64/ && ./server_launch.sh
./eurotrucks2_server: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
安装
sudo yum install libatomic -y