WARNING: 当心沉迷挖矿不可自拔!

为什么要使用独立服务器?当然是为了能够多人同时在线游戏,并且让服务器永远在线,减轻本地计算机负担,也不用担心管理员下线后其他人就玩不了了。

运行前准备

官方给出的内存要求是 2GB,并且是单独给予 Tshock 而不是服务器总值,但实测 swap 也可以,不过至少也需要 1GB,否则创建大型世界时内存有泄漏的 Bug。另外为了 Tshock 进程在后台运行,可以使用 tmuxscreen 等工具,这里不再赘述。

接着在这里下载最新版本的 Tshock 压缩包至服务器并解压。

由于 Tshock 是用 C# 写的并且依赖 .NET Framework 4.5 及以上版本。为了在 Linux 上运行 .NET 程序,需要安装 Mono(注: 若安装了 mono-complete 后玩家无法加入,需要安装 mono-devel)。各发行版的安装方法参见 Mono-Project 项目页面。以 Ubuntu 16.04 为例:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
$ echo \"deb https://download.mono-project.com/repo/ubuntu xenial main\" | sudo tee /etc/apt/sources.list.d/mono-official.list
$ sudo apt-get update
$ sudo apt-get install -y mono-complete mono-devel

启动 Tshock

默认 Tshock 使用 SQLite,如果要用 MySQL,可以编辑 tshock/config.json 修改 StorageType 参数。

其他服务器配置和游戏选项同样在 tshock/config.json 内配置,可以修改诸如服务器端口、最大在线玩家、PvP 模式、怪物生成速率、玩家最大 HP/MP、召唤 BOSS 间隔等参数。参见官方配置说明

命令行启动 Tshock:

$ MONO_THREADS_PER_CPU=50 mono TerrariaServer.exe

默认初始化后是没有世界的,可以根据交互提示键入指令创建一个世界,通过指令可以指定世界的大小、难度以及选择腐化之地或猩红之地环境。

创建的世界默认保存在 Tshock 根目录下的 .local/shard/Terraria/Worlds 下。

世界创建完成后可以通过交互指令选择指定的世界开始游戏,同时可以指定最大玩家人数、服务器端口(默认是 7777)、服务器密码等参数。第一次启动游戏后,服务器端会显示一个To become superadmin, join the game and type /auth [authcode].,连接进入游戏后,Enter 后输入 /auth [authcode] 即可成为服务器的超级管理员,此时 Tshock 目录下会生成一个 tshock/auck.lck 文件,表示已有超级管理员,删除该文件会需要重新认证成为超级管理员。认证之后还需要创建一个超级管理员用户,输入 /user add [username] [password] superadmin,并且需要登入 /login [username] [password],最后输入 /auth 完成认证过程。

游戏指令

Tshock 的游戏指令既可以在服务器端也可以在游戏端执行,有些指令只有在游戏端执行才会生效,例如召唤 BOSS 等。键入 help 以获取帮助。例如玩家进入游戏并注册后默认的用户组为 guest,权限较少,可以通过 user 指令更改玩家的用户组,通过 group 指令更改某个用户组的权限等。所有权限列表可以参考官方文档。超级管理员拥有所有权限,即 *。如果你是一个开发人员,也可以通过修改 Tshock 数据库来修改权限及其他参数。

此外,Tshock 可以通过 REST API 传送指令。需要在配置文件中开启 REST API 选项并且设置监听端口。

关于 SSC

SSC 指的是服务器端角色(Server Side Characters),这是 Tshock 服务器的特殊机制,用于强制玩家在加入游戏时必须使用服务器端存储的角色,也就意味着将禁止玩家使用本地角色,可以防止玩家使用其他世界携带的道具。如果玩家有 tshock.ignore.ssc 的权限,则依然可以在服务器开启 SSC 的情况下使用本地角色。要开启 SSC,需要修改 tshock/sscconfig.jsonEnabled 字段为 true

Terraria

传说地下最底层有一岩浆处丢进向导人偶后肉山会从屏幕下面往上出现。