《泰拉瑞亚》是和《我的世界》齐名的沙盒游戏,十分推荐喜欢自己动手的玩家自建服务器和好友分享快乐,下面的教程可以帮助到你!

一、前言(可跳过)

考研结束,终于有时间来折腾一下。一直都很喜欢泰拉瑞亚这个游戏(Steam链接),自己也处于新手阶段,建一个自己的服务器随时随地都可以玩岂不美哉。
在网上找了一下有三种方法:本地游戏自建、官方TerrariaServer、开源Tshock,对比了一下第三个最适合我。
最开始想的是在家里闲置电脑上搭建,然后用ddns解析到本地电脑,但是需要外网ip以及适合自己开发的路由器(K2P等),遂放弃。
第二个尝试的是frp内网穿透,需要有服务器做中介,用手头闲置服务器试了一下,自己的电脑性能够用,但是来回丢包严重,人物拖影闪现,游戏体验很差。
干脆直接在服务器上搭建,Ubuntu16.04用搜到的教程建的起来但连不上(推测是mono的问题),换win2012r2可以玩但是偶尔卡的不能动(win资源占用太多)。
经过两天折腾,发现还是官方Linux文档最稳,网上教程基本都过时了,自己试着根据tshock和mono的官方文档搭建了一个,终于完美运行。
以上是踩坑纪实,下面开始正文。

二、运行环境

----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
Number of cores      : 1
CPU frequency        : 2494.222 MHz
Total size of Disk   : 40.0 GB (5.2 GB Used)
Total amount of Mem  : 2000 MB (1180 MB Used)
Total amount of Swap : 2047 MB (0 MB Used)
System uptime        : 0 days, 2 hour 7 min
Load average         : 0.06, 0.02, 0.03
OS                   : Ubuntu 16.04.5 LTS
Arch                 : x86_64 (64 Bit)
Kernel               : 4.4.0-93-generic
----------------------------------------------------------------------

阿里云的轻应用学生机:1核2G内存5M带宽,其实个人玩1M带宽就够,5M以后可以组队开荒,而且VPS可玩性更高。
【注】

  1. 该机器默认用户为root,修改密码在控制台修改,改好后ssh可直接root登录,操作要谨慎!
  2. 出现sudo: unable to resolve host可不管,解决参照:sudo: unable to resolve host [hostname](已解决)

以下皆在以上机器运行无误,其他环境的Linux系统可参考来源网站

三、搭建

1.更新软件源加入mono并安装mono(来源:Mono官方网站

  • 以下逐行复制运行
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
  • 然后安装,按照机器的性能高低要等一会
sudo apt install mono-complete

2.修改服务器swap,避免爆内存卡顿(参考:ubuntu增加swap

  • 首先看看机器有没有swap,一般新开机器是没有的
free -h

若显示swap一行是0就没有

              total        used        free      shared  buff/cache   available
Mem:           2.0G        1.1G         88M        5.3M        735M        640M
Swap:            0B          0B          0B
  • 创建2G大小的swap(逐行运行)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
  • 然后检测一下是否成功开启,下面是成功开启
free -h
              total        used        free      shared  buff/cache   available
Mem:           2.0G        1.1G         88M        5.3M        735M        640M
Swap:          2.0G          0B        2.0G
  • 优化一下swap
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
sudo sysctl vm.vfs_cache_pressure=50
sudo vim /etc/sysctl.conf
  • 然后将下面2行加入到sysctl.conf文件最下方
vm.swappiness=10
vm.vfs_cache_pressure=50

3.安装其他必要软件

sudo apt-get -y install unzip screen

4.下载Tshock至服务器并解压(来源:the latest stable version

cd
wget -O tshock.zip 'https://github.com/Pryaxis/TShock/releases/download/v4.3.25/tshock_4.3.25.zip'
unzip tshock.zip -d ~/tshock

5.运行Tshock

cd tshock && screen mono TerrariaServer.exe

四、Tshock设置

输入n,回车新建世界
新建世界
世界大小选择
世界大小
世界难度选择
世界难度
世界邪恶:1.随机2.腐化之地3.血腥之地
世界邪恶:1.随机2.腐化之地3.血腥之地
世界名称,回车后开始创建世界,等一会就好
世界名称
选择刚刚新建的世界
选择世界
输入人数上限,直接回车是8人
输入人数
输入端口,直接回车,默认7777
输入端口
自动转发端口?直接回车,默认是
自动转发端口?
输入密码,看情况填写
输入密码
搭建世界中
建立中
建立完成!红框处是超级管理员代码,注意保管
建立完成

五、服务器开放7777端口

开放7777端口

六、从游戏登入服务器

多人模式 → 通过IP加入 → 新建人物 → 填入服务器IP地址 → 填入端口(默认7777)→ 加入

开始开荒吧!

重要补充:

  1. Tshock指令
    Tshock有非常多指令可以使用,参考:【Tshock】所有指令详细讲解的21楼之后
  2. Linux服务器地图储存路径
    在你的Tshock目录的tshock文件夹中“日期.log”文件最后一行
    root用户:/root/.local/share/Terraria/Worlds/1.wld
  3. 关闭出生点保护
    Tshock默认开启出生点保护,出生点无法破坏和建造:
    修改目录内的config文件,搜索SpawnProtection,把true改成false就行了,不用重启服务端
  4. 让玩家可以召唤boss
    默认玩家不能召唤,输入/auth xxxxxxx(超管密码,见四最后一张图),然后输入/group addperm default tshock.npc.summonboss
Last modification:February 20th, 2020 at 10:47 pm
If you think my article is useful to you, please feel free to appreciate