linux搭建泰拉瑞亚(Terraria)服务器
系统环境腾讯云CentOS 8一、准备创建目录mkdir /opt/terrariamkdir /opt/terraria{bin,config,downloads,Worlds}下载安装包cd /opt/terraria/downloadswget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1432
·
系统环境
腾讯云CentOS 8
一、准备
-
创建目录
mkdir /opt/terraria mkdir /opt/terraria{bin,config,downloads,Worlds}
-
下载安装包
cd /opt/terraria/downloads wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1432.zip unzip terraria-server-1432.zip ../bin
二、配置
-
复制配置文件
cd /opt/terraria cp bin/1432/Windows/serverconfig.txt config/
-
编辑配置
cd /opt/terraria vim config/serverconfig.txt
添加如下配置
# 世界存取位置 world=/opt/terraria/Worlds/myworld.wld # 世界规模,1小,2中,3大 autocreate=2 # 创造世界时使用的种子,可以不填 # seed=AwesomeSeed # 世界名称 worldname=myworld # 世界难度,0经典, 1困难, 2大师, 3旅行 difficulty=0 # 最大玩家数 maxplayers=8 # 端口 port=7777 # 密码 password=abc12345
保存并关闭文件
:wq
其他配置可以参考文件内的注释
三、启动
-
启动
cd /opt/terraria/bin/1432/Linux chmod +x TerrariaServer.bin.x86_64 ./TerrariaServer.bin.x86_64 -config /opt/terraria/config/serverconfig.txt
等待进度达到100%就启动成功了,可以在游戏里通过ip连接。如果需要后台一直运行,继续向下看。
-
后台运行
先输入exit退出,然后安装screen
yum install screen
在新窗口启动
screen -s terraria -c '/opt/terraria/bin/1432/Linux/TerrariaServer.bin.x86_64 -config /opt/terraria/config/serverconfig.txt'
按ctrl + A,然后按D,回到之前的窗口,服务会一直在后台运行。输入
screen -r terraria
可以重新打开运行服务的窗口,输入exit退出服务。建议使用下面的脚本完成启动和停止。创建脚本
cd /opt/terraria vim terraria.sh
将以下内容复制到脚本中
#!/bin/bash USERNAME='root' SCNAME='terraria' TERA_VER='1432' BIN_PATH="/opt/terraria/bin/$TERA_VER/Linux/" SERVICE='TerrariaServer.bin.x86_64' CONFIG='/opt/terraria/config/serverconfig.txt' ME=`whoami` if [ $ME != $USERNAME ] ; then echo "Please run the $USERNAME user." exit fi start() { if pgrep -u $USERNAME -f $SERVICE > /dev/null ; then echo "$SERVICE is already running!" exit fi echo "Starting $SERVICE..." screen -AmdS $SCNAME $BIN_PATH$SERVICE -config $CONFIG exit } stop() { if pgrep -u $USERNAME -f $SERVICE > /dev/null ; then echo "Stopping $SERVICE " else echo "$SERVICE is not running!" exit fi screen -p 0 -S $SCNAME -X eval 'stuff "say SERVER SHUTTING DOWN IN 10 SECONDS. "\015' sleep 10 screen -p 0 -S $SCNAME -X eval 'stuff "exit"\015' exit } save() { echo 'World data saving...' screen -p 0 -S $SCNAME -X eval 'stuff "say World saveing..."\015' screen -p 0 -S $SCNAME -X eval 'stuff "save"\015' exit } status() { if pgrep -u $USERNAME -f $SERVICE > /dev/null ; then echo "$SERVICE is already running!" exit else echo "$SERVICE is not running!" exit fi } case "$1" in start) start ;; stop) stop ;; save) save ;; status) status ;; *) echo $"Usage: $0 {start|stop|status|save}" esac
添加可执行权限
chmod +x terraria.sh
启动服务
./terraria.sh start
查看服务状态
./terraria.sh status
停止服务
./terraria.sh stop
更多推荐
已为社区贡献1条内容
所有评论(0)