采用官方服务器,根据泰拉瑞亚官方wiki (更多功能的服务器可参考Tshock

准备服务器相关内容

下载

下载服务器某版本如1.4.4.9并解压到一个喜欢的位置

在解压目录中添加config.properties作为配置文件

maxplayers=5
world=/home/dbin/terraria/world/world1.wld
autocreate=3
difficulty=2
language=zh/Hans
password=password
motd="Welcome dbin's server!"

配置文件具体信息在最后附录

启动

运行TerrariaServer.bin.x86_64 即可进入交互界面并启动,启动后会进入控制台,控制台命令见附录
默认存档位置在~/.local/share/Terraria/Worlds
也可以直接修改启动参数或者配置文件直接启动

编写脚本

编写下面三个脚本并将其放在同一目录

bat.sh 用于启动程序

#! /bin/bash
# 程序位置需要自己替换
./terraria/TerrariaServer.bin.x86_64 \
    -config config.properties \
    -world /home/world1.wld \
    -pass password \
    -port 7777 \
    -players 6 \
    -steam \
    -lobby private

启动的命令行参数信息在最后附录

start.sh 用于后台运行

#!/bin/bash
# 检查是否已经有相同名称的 `screen` 会话存在
if screen -list | grep -q "terraria"; then
    echo "terraria 已经启动了"
else
    # 使用 `screen` 启动一个新会话,并在其中运行程序
    screen -dmS terraria ./bat.sh
    echo "开始启动terraria."
fi

rettach.sh 用户重新回到对话,执行一些服务器命令

使用ctrl+A+D可以退出会话且后台继续运行

#!/bin/bash
# 尝试重新附加到指定的 `screen` 会话
if screen -list | grep -q "terraria"; then
    screen -r terraria
else
    echo "没有找到terraria"
fi

附录

命令行参数

-config <config file> - 指定配置文件(详见服务器配置文件)。
-port <port number> - 指定需要监听的端口。
-players <number> / -maxplayers <number> - 设置最大玩家数。
-pass <password> / -password <password> - 设置服务器密码。
-motd <text> - 设置第二天的格言。
-world <world file> - 加载世界并自动启动服务器。
-autocreate <#> - 如果没有在-world参数指定的路径找到世界,那么创建一个新世界。世界大小分为:1(小),2(中),3(大)。
-banlist <path> - 指定封禁名单文件的路径。默认情况下为工作路径下的banlist.txt文件。
-worldname <world name> - 当使用 -autocreate 参数时设定世界名称。
-secure - 为服务器添加增强型作弊保护。
-noupnp - 关闭通用即插即用(UPNP)。
-steam - 开启 Steam 支持。
-lobby <friends> or <private> - 允许朋友加入服务器或设为私人服务器(开启 Steam 情况下)。

配置文件

maxplayers=8 - 设置服务器的最大玩家数,数值必须介于1到255。
world=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\world1.wld - 加载一个世界并自动启动服务器。
port=7777 - 设置端口号,
password=p@55w0rd* - 设置服务器密码。
motd=Please don’t cut the purple trees! - 设置当日的消息。
worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\ - 设置世界文件的存储位置。
autocreate=3 - 如果没有在 -world 参数指定的路径找到世界,那么创建一个新世界。世界大小分为:1(小),2(中),3(大)。
difficulty=0 - 设置在使用 -autocreate 参数下的难度。可选项: 0(普通),1(专家)。1.4版本难度分为0(普通), 1(专家), 2(大师), 3(旅途)
worldname=World - 当使用 -autocreate 参数时设定世界名称。
banlist=banlist.txt - 指定封禁名单文件的路径。默认情况下为工作路径下的banlist.txt文件。
secure=1 - 为服务器添加增强型作弊保护。
language - 通过语言码设置服务器语言。
可用的语言码:
    en/US = 英语
    de/DE = 德语
    it/IT = 意大利语
    fr/FR = 法语
    es/ES = 西班牙语
    ru/RU = 俄语
    zh/Hans = 中文
    pt/BR = 葡萄牙语
    pl/PL = 波兰语

控制台命令

help - 显示命令列表。
playing - 显示玩家列表。可以在游戏内聊天输入/player来使用。
clear - 清空控制台。
exit - 关闭并保存服务器。
exit-nosave - 关闭并不保存服务器。
save - 保存游戏世界。
kick <player> - 踢人。
ban <player> - 禁止一个玩家进入服务器。
password - 显示密码。
password <pass> - 更改密码。
version - 显示版本号。
time - 显示游戏时间。
port - 显示监听的端口。
maxplayers - 显示最大玩家数目。
say <words> - 向全体成员发生消息,他们会在聊天框中看到以黄色前缀<Server>开头的全体消息。
motd - 显示 MOTD。
motd <words> - 更改 MOTD。
dawn - 调整时间为黎明 (4:30 AM)。
noon - 调整时间为中午 (12:00 PM)。
dusk - 调整时间为黄昏 (7:30 PM)。
midnight - 调整时间为午夜 (12:00 AM)。
settle - 使所有水平衡。
作者:dbin  创建时间:2023-12-15 20:41
最后编辑:dbin  更新时间:2024-03-17 18:37