ETS2_Server for 128

制期:20241029

参考文档:

一、前言

目前可以支持的平台有:

通信原理:

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

创建目录:

我的分配,目录名可随意:

namepath
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

image-20241030024538607

获取所需文件:

位置

C:\Users\用户名\Documents\Euro Truck Simulator 2

image-20241030032708663

修改配置文件:

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

这个就是房间号:

image-20241030035510235

让服务器脚本在后台运行并记录到当前目录的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
最后修改:2024 年 11 月 17 日
咱们谁跟谁,用不着~