如何开游戏服务器与其他人远程联机

之前为了玩一些游戏自建过许多游戏服务器,Minecraft、泰拉瑞亚、奈斯启示录、文明 6……这篇文章就写一下开服的步骤,供以后参考。(以下的服务器都在 Ubuntu 24 LTS 版下,使用命令行;读者需要自己具有一些基础操作知识,例如 ssh, vim 等;教程下载方式都是从官方拉取,如果为国内服务器可以使用代理或者在自己电脑下载好自己上传到 vps)

注意

连接 vps 后启动的进程会与 ssh 一同保持,所以需要使用第三方程序保持进程例如 tmux 或者 screen,简单用法如下。更具体可以参考阮一峰的这篇文章这篇文章

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 安装 tmux
sudo apt install tmux

# 开启一个名为 game 的进程
tmux new -s game

# 删除一个名为 game 的进程
tmux kill-session -t game

# 接入一个名为 game 的进程
tmux attach -t game

# 安装 screen
sudo apt install screen

# 开启一个名为 game 的进程
screen -S game

# 删除一个名为 game 的进程
screen -d game

# 接入一个名为 game 的进程
screen -r game

文明 6

一般联机要么用客户端和服务端的模式,要么使用只有客户端选择其中一台当主机。但国内运营商一般不会给个人宽带分配 ipv4,所以第二种模式就很难做到。文明 6 可以使用互联网联机(例如樱花穿透),但在国内就会有延迟卡顿问题,所以可以用第三方穿透软件实现远程局域网联机,注意的是支持局域网联机的游戏都支持这个方法,这里介绍另一个工具,需要有一台 vps。

1
2
3
4
5
6
7
8
9
10
11
# 从 https://bugxia.com/357.html 下载服务端
wget 下载链接

# 启动服务端
supernode -p 9527 -f

# 开放 9527 端口

#下载客户端

# 填入 vps ip 显示绿色勾就可以开始联机了

Minecraft 原版

这是最经典的一个,笔者也不知道开过多少次,按照以下步骤。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 登录 vps

# 更新软件源以及更新软件
sudo apt update && apt upgrade

# 下载 Minecraft 对应版本的 java 环境
sudo apt install openjdk-17-jdk

# 下载游戏原版服务端 https://www.minecraft.net/en-us/download/server
wget 下载链接

# 启动服务端 -Xmx 代表最大内存,-Xms 代表初始内存,minecraft_server.1.21.3.jar 代表服务端文件名,nogui 代表使用命令行模式启动
java -Xmx4096M -Xms1024M -jar minecraft_server.1.21.3.jar nogui

# 执行上一步会报错,此时需要修改 eula.txt 文件,修改为 true,代表同意 Mojang 的许可协议
vim eula.txt

# 再次执行
java -Xmx4096M -Xms1024M -jar minecraft_server.1.21.3.jar nogui

# 配置服务器参数

# 打开服务器的 25565 默认端口,之后就可以联机了

泰拉瑞亚原版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 下载泰拉瑞亚服务端,可以在官网 terraria.org 网站下 PC Dedicated Server 处下载

# 解压下载后的文件
unzip terraria-server-1449.zip

# 进入启动目录
cd terraria-server-1449/Linux/

# 查看目录内文件
ls

# 修改可执行文件权限
chmod +x 777 TerrariaServer.bin.x86_64

# 执行文件
./TerrariaServer.bin.x86_64

# 配置服务器参数

# 打开服务器的 7777 默认端口,之后就可以联机了

泰拉瑞亚模组版(以灾厄为例),与上面类似,简单说明一下就可以

1
2
3
4
5
6
7
8
9
10
# 下载 tModLoader 服务端和 Terraria 服务端放在同一个目录,执行 ls 应该如下面
1449 tModLoader

# 将模组下载到同目录下的 .local/share/Terraria/tModLoader/Mods/ 文件夹,注意这是一个 . 开头的隐藏文件夹,应包含 enabled.json

# 启动 tModLoader 端
cd tModLoader
./start-tModLoaderServer.sh

# 配置服务器参数,开启 7777 端口就可以游玩了