柚子快报邀请码778899分享:泰拉瑞亚Linux主机打造指南

http://www.51969.com/

最近玩了泰拉瑞亚,一个2D版的我的世界,但苦于steam的联机太过不靠谱,经常会出现和朋友之间联机失败的问题,所以我把服务器放到了部署我博客的服务器,这样就可以通过IP直接让好友加入游戏了!

首先是购买服务器,因为我们需要一个大家都能访问的公网IP,所以...

Vultr最近服务器在做活动,冲10美元送50美元,而且服务器你除了用来放泰拉瑞亚的服务,还可以给自己搭建Vxx。

新用户注册才有的福利,随便搞一个邮箱注册就可以了。

http://bwg.yiqimaila.com/vt/

前置准备

首先要解决的一个问题是服务器内存问题,为了支持数百人加入,需要较高的内存配置,但是服务器内存太贵了,启用swap倒是不错的选择。

确认下SWAP设置了多少

free -m

如果足够1GB则跳过这一步直接开始搭建游戏!

删除SWAP分区

swapoff -a

新增SWAP分区

dd if=/dev/zero of=/root/swapfile bs=1M count=1024

格式化交换分区文件:

mkswap /root/swapfile

启用swap分区文件

swapon /root/swapfile

添加开机启动

vi /etc/fstab

在最后一行添加

/root/swapfile swap swap defaults 0 0

重启下是否生效

reboot

重启后输入指令查看下SWAP是否增加

free -m

搭建服务

首先下载需要用到的工具库。

# yum install wget

# yum install screen

# yum install unzip

因为泰拉瑞亚需要用到7777端口,所以我们要让防火墙允许。

# firewall-cmd --permanent --add-port=7777/tcp

success

# firewall-cmd --reload

success

创建一个用来存放泰拉瑞亚服务器的文件夹

# cd /opt/

# mkdir terraria

# mkdir terraria/{bin,downloads}

# chown -R root:root terraria

下载泰拉瑞亚官方提供的服务器包。

$ cd /opt/terraria/downloads

$ wget http://terraria.org/server/terraria-server-1353.zip

解压软件包。

$ unzip terraria-server-1353.zip -d /opt/terraria/bin

然后需要一个配置文件。

$ vi serverconfig.txt

文件内容如下:

world=/opt/terraria/Worlds/世界的名字.wld

autocreate=2

worldname=世界的名字

difficulty=0

maxplayers=4

password=设定一个密码

worldpath=/opt/terraria/Worlds

具体世界的名字和密码自定。

autocreate 是没有发现世界自动生成世界的大小 1、2、3分别对应小、中、大

difficulty 对应的是0为普通,1为专家

maxplayers是最大人数

给运行文件设置权限

$ cd /opt/terraria/bin/1353/Linux

$ chmod 744 TerrariaServer.bin.x86_64

启动服务器

$ ./TerrariaServer.bin.x86_64 -config /opt/terraria/serverconfig.txt

初次运行因为要创建世界需要一定时间当看到

Terraria Server v1.3.5.3

Listening on port 7777

Type 'help' for a list of commands.

:

表示生成成功!

此时可以在游戏的多人模式通过IP进入游戏看看是否成功。

确认成功后退出服务器

: exit

重新编辑配置文件防止重新生成世界

$ cd /opt/terraria

$ cp -p serverconfig.txt serverconfig.txt_yyyymmdd

$ vi serverconfig.txt

将三个配置注释掉

autocreate=2

worldname=世界的名字

difficulty=1

改为

# autocreate=2

# worldname=Terraria

# difficulty=1

再次运行一次看看是否成功。

优化体验

每次启动都要输入这么多文件夹路径很麻烦,所以我们可以制作一个自动启动的脚本:

$ vi terra_script.sh

内容如下:

#!/bin/bash

USERNAME='root'

SCNAME='terraria'

TERA_VER='1353'

BIN_PATH="/opt/terraria/bin/$TERA_VER/Linux/"

SERVICE='TerrariaServer.bin.x86_64'

CONFIG='/opt/terraria/serverconfig.txt'

ME=`whoami`

if [ $ME != $USERNAME ] ; then

echo "Please run the $USERNAME user."

exit

fi

start() {

if pgrep -u $USERNAME -f $SERVICE > /opt/terraria/logs/start.txt ; 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 > /opt/terraria/logs/stop.txt ; 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

这样就分别有了「启动」「关闭」「保存」「重启」了。

分别对应:

服务器启动

/opt/terraria/terra_script.sh start

服务器停止

/opt/terraria/terra_script.sh stop

服务器重启

/opt/terraria/terra_script.sh restart

确认状态

/opt/terraria/terra_script.sh status

保存世界存档

/opt/terraria/terra_script.sh save

给文件提升权限

$ chmod 744 terra_script.sh

确认下启动

$ sh -x ./terra_script.sh start

通过「screen -ls」确认下是否开启了窗口

$ screen -ls

There is a screen on:

883.terraria (Detached)

1 Socket in /var/run/screen/S-terraria.

确认下关闭

$ sh -x ./terra_script.sh stop

确认关闭是否成功

$ screen -ls

No Sockets found in /var/run/screen/S-terraria.

这样就算是完成了,世界的存档就在Worlds目录中,如果你用了MobaXterm这种支持文件传输的工具连接服务器,可以直接把游戏存档拉出来保存到你自己电脑上,还可以上传你自己单机玩的存档。

柚子快报邀请码778899分享:泰拉瑞亚Linux主机打造指南

http://www.51969.com/

查看原文