准备一台VPS:

首先需要准备一台VPS。

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

CPU:2核以上

内存:2G以上

带宽:2M以上

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

推荐阿里云vps(这里可以领取1折优惠券)

有些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

防火墙设置(如果有):

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

# firewall-cmd --permanent --add-port=7777/tcpsuccess
# firewall-cmd --reloadsuccess

因为泰拉瑞亚默认使用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吧!

下面开始下载。

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

su - terraria

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

将包解包

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

制作一个设定文件

$ 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/bashUSERNAME='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 ] ; thenecho "Please run the $USERNAME user."exit
fistart() {if pgrep -u $USERNAME -f $SERVICE > /dev/null ; thenecho "$SERVICE is already running!"exitfiecho "Starting $SERVICE..."screen -AmdS $SCNAME $BIN_PATH$SERVICE -config $CONFIGexit
}stop() {if pgrep -u $USERNAME -f $SERVICE > /dev/null ; thenecho "Stopping $SERVICE "elseecho "$SERVICE is not running!"exitfiscreen -p 0 -S $SCNAME -X eval 'stuff "say SERVER SHUTTING DOWN IN 10 SECONDS. "\015'sleep 10screen -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 ; thenecho "$SERVICE is already running!"exitelseecho "$SERVICE is not running!"exitfi
}case "$1" instart)start;;stop)stop;;save)save;;status)status;;*)echo  $"Usage: $0 {start|stop|status|save}"
esac

其中

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
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分保存。

至此教程就全部结束了!

2021最新 从零开始搭建terraria(泰拉瑞亚)云服务器相关推荐

  1. 2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器

    2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器 纯净档(还没研究出其他的) 适合与朋友玩 1. 前期准备 一台云服务器(本章使用的为1核2G的腾讯云服务器) PuTTY 2.设 ...

  2. 泰拉瑞亚服务器协议,泰拉瑞亚 云服务器

    泰拉瑞亚 云服务器 内容精选 换一换 查询指定后端云服务器组的后端云服务器.支持过滤查询和分页查询.如未特殊说明,匹配规则为精确匹配.GET /v2/{project_id}/elb/pools/{p ...

  3. 泰拉瑞亚服务器怎么广播消息,泰拉瑞亚云服务器怎么开mod

    泰拉瑞亚云服务器怎么开mod 内容精选 换一换 当您有如下需求时,可以考虑使用用户数据注入功能来配置弹性云服务器:需要通过脚本简化弹性云服务器配置通过脚本初始化系统已有脚本,在创建弹性云服务器的时候一 ...

  4. 泰拉瑞亚服务器权限文件,泰拉瑞亚云服务器权限

    泰拉瑞亚云服务器权限 内容精选 换一换 在管理控制台主页,选择"服务列表 > 管理与部署 > 统一身份认证服务",进入"统一身份认证服务"页面.在左 ...

  5. Terraria/泰拉瑞亚linux服务器搭建教程

    1.服务器准备 首先准备一台外网服务器可以供小伙伴们连接,什么阿里云啊,腾讯云啊都可以!这里我用的是腾讯云的服务器1核2G,反正和几个小伙玩玩起来是没啥问题. 腾讯云购买地址学生价低至9元/月 2.服 ...

  6. 从零开始搭建Linux共享服务器(云享系统)

    从零开始搭建Linux共享服务器(云享系统) 是男人就下100层,是汉子就来搭个服务器吧ヾ(◍°∇°◍)ノ゙ 主要思路 所谓共享服务器,就是支持多人文件共享的HTTP服务器,功能十分简单,但我们关注的 ...

  7. 从零开始搭建一台深度学习服务器及环境配置

    从零开始搭建一台深度学习服务器及环境配置 服务器硬件 2019.12.12 系统安装 环境配置--现有最新版本 服务器硬件 2019.12.12 实验室需求,我找的配置,反正不用我花钱独享一台服务器 ...

  8. jupyter notebook运行没反应_搭建Jupyter Notebook远程云服务器(Jupyter配置)

    搭建Jupyter Notebook远程云服务器​yuenshui.cn 前面讲了Jupyter Notebook的远程服务器搭建过程.但每次打开一个新的notebook,都要重复地倒入一些模块(pa ...

  9. 怎么用云服务器搭建游戏,搭建游戏用什么云服务器

    搭建游戏用什么 现在的游戏服务器,一般都会挑选 不可贪图便宜 现在的服务器市场就是一分钱一分货,想要花低价钱买到高性能的,尤其是这种专业性能的产品,几乎是不可能的事情.因此,对于那些有成本预算的企业, ...

  10. 星聚宝—云服务器快速搭建网站(阿里云服务器举例)

    零:买域名 何为域名?blog.csdn.net就是CSDN网站的域名,建网站得先有个域名吧,后续去申请注册个,这里主要讲述搭建. 一:云服务器厂商选哪家最靠谱? 按照规模,性能来说,阿里云>腾 ...

最新文章

  1. 4 个使用率非常高的 Linux 监控工具
  2. 【Android FFMPEG 开发】FFMPEG 获取编解码器 ( 获取编解码参数 | 查找编解码器 | 获取编解码器上下文 | 设置上下文参数 | 打开编解码器 )
  3. 将Excel的数据导入DataGridView中(转)
  4. 李宏毅线性代数笔记2: 线性方程组和数域
  5. LeetCode 面试题 10.02. 变位词组
  6. 以前的某个程序安装计算机上创建挂起_教研拓进王立辉老师计算机专业教学心得...
  7. 2.GD32F103C8T6 gpio的使用
  8. c语言程序如何实现分组,c程序-实现随机分组.ppt
  9. 使用PyTorch前向运算时出现“RuntimeError: Expected object of scalar type Long but got scalar type Float for ……”
  10. 理解 Symbol.toStringTag 用法
  11. python dendrogram_收藏 | Python数据可视化的一些简单总结
  12. js无限分级 树_js实现无限级树形导航列表效果代码
  13. 速达 从xp系统换成win7
  14. php毕业论文总结,毕业设计总结
  15. java 日期格式化工具类
  16. 河南省iscc2019线下(hnciscn)Misc
  17. TeamTalk部署详细过程(跳过各种坑)
  18. 锂离子电池性能测试软件,锂离子电池最常用的性能测试-放电曲线分析攻略(8000字长文)...
  19. Spring+SpringMVC+Hibernate整合(封装CRUD操作)
  20. 异方差性以及加权最小二乘优化

热门文章

  1. 3D语义场景图论文小记
  2. VSCode: Acquiring CodeLLDB platform package 自动加载不成功解决方案
  3. python读取csv某一列 pandas_numpy和pandas实战:文件夹CSV文件中的第一列数据
  4. Android 状态栏关于开发的几件事
  5. Tomcat的appBase与docBase的区别
  6. openwrt 怎么进入串口_OpenWrt路由器读取串口数据,建立tcp服务
  7. 微信二级不死域名和微信白名单的区别?
  8. 盘点15个搞笑的程序员段子
  9. 华为云--欧拉操作系统
  10. android系统运行缓慢,安卓手机运行速度慢怎么办 手机运行速度慢如何解决 - WiFi共享大师...