导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
热门文章
1推文
让AI写了个将三星手机拍摄的JPG Gain Map格式的照片转成压缩率更高的AVIF Gain Map格式的NPM包。 地址为:https://www.npmjs.com/package/libavif-with-gainmap 这样一定程度上能更快捷的管理HDR照片。 不过问题也是有的,比如服务器贫瘠的性能处理大尺寸的AVIF照片还是有点吃力的。 大照片一张大概需要30秒的样子...不知道还有没有优化的空间。 如果设备支持的话,示例图点击就能看到HDR效果啦!
热度
820
2页面
程序员老黄历&求签
热度
494
3推文
《节奏天国 奇迹之星》发售了,于是果断入手。 作为手残玩家,虽然每作都有买,但是每作好像又都没有玩到最后😅,毕竟真的好难。 掏出Switch,发现已经一点电都没有了,可见我已经多久没打开过Switch了。
热度
200
4博文
《上伊那牡丹,酒醉身姿似百合花般》圣地巡礼之杂司谷旧传教士馆
热度
130
5博文
3DS模拟器简体中文字库 | Citra3ds字库 | 符文工房4乱码解决字库 | shared_font.bin
热度
104
6博文
Live2d模型合集分享 | FaceRig | 海王星系列 | 初音未来 | 雷姆 | 凉风青叶 | 尼禄 | 薇尔莉特 | 小埋 | 樱花庄 | 玉藻前
热度
65
7博文
探访《蜡笔小新》老家——春日部游记
热度
52
8博文
【RPG Maker MV】插件脚本指令文档 | Script Calls
热度
52
9推文
《寒蝉鸣泣之时》发布了新作动画预告。 这居然还能出新作!? https://www.bilibili.com/video/BV1Yvj86UEYr
热度
51
10推文
万代给《刀剑神域》的新游戏《Echoes of Aincrad》做了一部110分钟的宣传动画『Unanswered//butterfly』,限时在YouTube直播。 剧情节奏快的飞起,转折一个比一个突兀。不过考虑到游戏终极版似乎也带这部动画,可能完整版要到游戏发售? 生硬归生硬,生硬的还挺有趣的。连带直播区的评论一起看无比欢乐。
热度
39
最新评论
广树管理员
2026-07-11 12:19
@666:因为avif格式到24年才几乎被主流浏览器覆盖。webp的缺点是不支持hdr
666
2026-07-11 12:17
avif见的不多,webp倒是不少
广树管理员
2026-07-11 11:50
@Ringnee:就是所有关卡clear
广树管理员
2026-07-11 11:50
@Aki:据我所知三星的HDR方案应该是安卓机较为通用的方案,也不排除其他手机特立独行。
Ringnee
2026-07-09 09:57
我前两天想玩一下健身环发现switch打开也没电了。节奏天国的玩到最后是什么意思?还有攻略关卡吗
攻略中
节奏天国 奇迹之星
暂无评分
NS节奏天国 奇迹之星
2026年7月08日 20时 ~ 攻略中
已累计游玩2天
《节奏天国:奇迹之星》是一款轻松又充满创意的音乐节奏游戏,玩家只需跟随音乐节拍按下按键,就能完成跳跃、敲击空罐、制作料理等各种有趣的小挑战。游戏延续了《节奏天国》系列简单易上手、节奏感强、画风幽默的特点,让玩家在一个个短小精巧的关卡中感受音乐与反应力结合的乐趣,适合喜欢节奏游戏和轻松休闲玩法的玩家体验。
告别回忆 -无垢少女- 致最爱的你
暂无评分
Steam告别回忆 -无垢少女- 致最爱的你
2026年6月24日 20时 ~ 攻略中
已累计游玩2周2天
系列作发售至今经历了19年,做为其系列最终作的《告别回忆 ~无垢少女~》(以下略称为本篇)在2018年3月发售。本次的FanDisc和至今的系列作相同,带给玩家在各结局后的短篇故事。请充分享受和各个女主角们在欢乐结局后的幸福时光。
传颂之物:循白之证
暂无评分
PS5传颂之物:循白之证
2026年5月31日 19时 ~ 攻略中
已累计游玩1个月10天
《传颂之物:循白之证》是 AQUAPLUS 开发、Shiravune 发行的《传颂之物》系列动作 RPG。故事发生在大国“大和”恢复和平之后:奥修特尔、御雷、宗近、修娘等人击退敌国阿瓦什兰的侵略,本应迎来安宁,但各地却陆续出现看似毫无关联的怪异现象,并逐渐指向同一个源头;随着三条线索彼此重叠,众人再次踏上旅程,而旅途尽...
亚路塔:狐狸狐途的面包冒险
暂无评分
Steam亚路塔:狐狸狐途的面包冒险
2026年2月12日 19时 ~ 攻略中
已累计游玩4个月28天
一场席卷全世界的面包革命现在开始! 主人公查雅阴错阳差之下,开始了在荒废的岛屿上经营面包店的生活。 出外冒险搜集食材、研发崭新面包配方、遇见性格各异的伙伴们,建造更丰富的设施,用面包香气使无人问津的广场再次热闹起来!
ToHeart
暂无评分
SteamToHeart
2025年6月26日 19时 ~ 攻略中
已累计游玩1年
AQUAPLUS推出的“温暖人心的校园恋爱游戏”将以高清全3D形式焕新归来!
fault - StP - LIGHTKRAVTE
暂无评分
Steamfault - StP - LIGHTKRAVTE
2025年5月29日 20时 ~ 攻略中
已累计游玩1年1个月
全球累计销量超过50万份的“fault”系列最新作!故事的舞台是一个融合了奇幻与科幻的超前世界——卢森海德王国。本作讲述了生活在此地的一个平凡又平庸的究极普通市民——名为果子的少年的故事。
PSN奖杯卡

PSN奖杯卡

归档
赞助商广告

手把手从零开始搭建《泰拉瑞亚》(Terraria)服务器

2018-04-28 13:10:50
服务器

准备一台VPS:

首先需要准备一台VPS。

根据我目前搭建的情况来看,VPS的推荐配置如下:

CPU:2核以上

内存:2G以上

带宽:2M以上

当然以上配置全部是1也是能跑,就是可能会很慢或者游戏途中掉线。


设置一下SWAP防止因为内存不足导致游戏被强迫关闭

有些vps会默认给一些SWAP有些则不给,如果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

这里提一下vi编辑器的基本用法:
进入文本后按键盘上的insert按钮开始编辑,按esc退出编辑,输入:wq保存并退出。

添加或修改

/root/swapfile swap swap defaults 0 0

重启下是否生效

# reboot

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

free -m


开始搭建游戏:

这里我选用的是CentOS7的系统搭建。

在系统安装完毕后使用PuTTY登录VPS。(这里以自己的本地电脑是Windows为例)

PuTTY下载地址:https://www.putty.org/

PuTTY的具体使用方法这里省略,具体可以在网上搜索教程,不难的。

登录root账户后输入

# yum install wget
# yum install screen
# yum install unzip

如果中途出现确认请输入 y 继续。


防火墙设置(如果有):

如果有防火墙的话则要开放端口

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

因为泰拉瑞亚默认使用7777端口这里就设置为7777,可以根据自己的需求修改。


给泰拉瑞亚服务器创建一个用户:

虽然不是一定要创建用户,但是还是创建一个比较方便管理!

# useradd terraria
# passwd 设置一个密码尽量复杂点
Changing password for user terraria
New password:
Retype new password:
passwd: all authentication tokens updated successfully

useradd为账号这里推荐terraria

passwd为密码尽量设置一个复杂的密码,其中密码输入的时候可能光标不会有任何反应,实际上已经在输入了!


从泰拉瑞亚官方下载服务器包:

创建好用户后我们先创建一个用来存放泰拉瑞亚服务器的文件夹

# cd /opt/
# mkdir terraria
# mkdir terraria/{bin,downloads}
# chown -R terraria:terraria terraria

这里前面的terraria:terraria terraria对应【账号名称:用户组名称 文件或目录】

如果前面完全是按照本教程就全部terraria吧!

下面开始下载。

目前最新的版本为1353所以对应的下载如下

# su - terraria
$ cd /opt/terraria/downloads
$ wget http://terraria.org/server/terraria-server-1353.zip

这样就下载了1353版本的安装包

如果想要找其他版本的下载包可以在这里查询(点击进入

将包解包

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

制作一个设定文件,这里已经事先将模板文件传入到windows文件夹了,所以从这里将文件拷贝到泰拉瑞亚文件夹进行编辑。

$ cp -p Windows/serverconfig.txt /opt/terraria/
$ cd /opt/terraria/
$ vi serverconfig.txt

这里再提一下vi编辑器的基本用法:

进入文本后按键盘上的insert按钮开始编辑,按esc退出编辑,输入:wq保存并退出。

在文件的末尾写上:

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

按insert输入

#!/bin/bash

USERNAME='terraria'
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 > /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

这里我第一次没有把#!/bin/bash输入进去结果导致一直启动失败。

其中

USERNAME='terraria'

要对应自己的用户名

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

分别对应:

  • 服务器启动 /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.


设定自动启动:

进入root账号开始设定

# su - root
# cd /etc/systemd/system
# vi terraria.service

按Insert输入

[Unit]
Description=Terraria Server
After=network.target local-fs.target

[Service]
Type=forking
User=terraria
ExecStart=/opt/terraria/terra_script.sh start
ExecStop=/opt/terraria/terra_script.sh stop

[Install]
WantedBy=multi-user.target

保存并退出后

# systemctl enable terraria

重启下是否生效

# reboot

重启后服务依旧开启则大功告成啦!


设置一个定时保存:

首先安装启动服务

yum install crontabs
systemctl enable crond
systemctl start crond

编辑定时任务

vi /etc/crontab

可以看到

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

末尾处插入

*/10 * * * * terraria /opt/terraria/terra_script.sh save

意思是每10分钟用terraria账户运行一次保存命令。

这里还可以设置比如每天定时重启拉什么的。

比如:

0 5 * * * terraria /opt/terraria/terra_script.sh save
1 5 * * * root reboot

在重启前记得加一条保存。意思是每天5点1分重启,5点0分保存。

至此教程就全部结束了!

如果想要加入我创建的服务器,可以点击上方加入Q群后索要地址。

收款.png


file_000000008460720687635c008459256b.png