从零开始搭建terraria(泰拉瑞亚)服务器
准备一台VPS:
首先需要准备一台VPS。
根据我目前搭建的情况来看,VPS的推荐配置如下:
CPU:2核以上
内存:2G以上
带宽:2M以上
设置一下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/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: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
制作一个设定文件
$ 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
这里我第一次没有把#!/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分保存。
至此教程就全部结束了!
从零开始搭建terraria(泰拉瑞亚)服务器相关推荐
- 2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器
2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器 纯净档(还没研究出其他的) 适合与朋友玩 1. 前期准备 一台云服务器(本章使用的为1核2G的腾讯云服务器) PuTTY 2.设 ...
- 泰拉瑞亚自建服务器,Terraria泰拉瑞亚服务器开服架设教程windows
#这是TerrariaServer.exe的配置文件示例 #使用命令'terriaserver.exe-config server config.txt'使用此配置或运行start-server.ba ...
- 泰拉瑞亚服务器搭建基于 TShockubuntu
泰拉瑞亚服务器搭建 泰拉瑞亚(Terraria)是一款类似于我的世界(Minecraft)的2D像素沙盒模拟游戏,由Re-Logic开发,从2011年发售以来广受好评.和MC一样泰拉瑞亚可以自己搭建服 ...
- 从零开始搭建你的Web服务器
http://www.hello-code.com/blog/architecture/201506/5147.html 有天一个女士出门散步,路过一个建筑工地,看到三个男人在干活.她问第一个男人,& ...
- 泰拉瑞亚服务器插件注册,《泰拉瑞亚》服务器插件 Tshock推荐插件介绍
原标题:<泰拉瑞亚>服务器插件 Tshock推荐插件介绍 泰拉瑞亚服务器插件,Tshock推荐插件介绍.在泰拉瑞亚中,玩家可以通过服务器结伴而行.而在建立服务器的时候,我们可以选择插件来更 ...
- 搭建一个泰拉瑞亚手机版服务器
[腾讯云限时领3600优惠券] 表示有人在群里谈到泰拉瑞亚了....于是我闲着没事干开了一个服务器. (正好也可以水一篇文章 :huaji: 首先..我不了解这个游戏 第二,这个服务端在官网下载的手机 ...
- 泰拉瑞亚服务器修改物品,泰拉瑞亚1.4自定义物品名称方法 自定义物品名称详细教程_逗游网...
在泰拉瑞亚1.4版本中我们可以通过一款插件来为游戏中的道具来进行名称自定义,下面就为大家带来详细的操作教程,供各位玩家们参考. 自定义物品名称教程 首先下载我们需要的文件 提取码:a3k0 1.获取翻 ...
- 泰拉瑞亚服务器协议,泰拉瑞亚 云服务器
泰拉瑞亚 云服务器 内容精选 换一换 查询指定后端云服务器组的后端云服务器.支持过滤查询和分页查询.如未特殊说明,匹配规则为精确匹配.GET /v2/{project_id}/elb/pools/{p ...
- 泰拉瑞亚服务器怎么广播消息,泰拉瑞亚云服务器怎么开mod
泰拉瑞亚云服务器怎么开mod 内容精选 换一换 当您有如下需求时,可以考虑使用用户数据注入功能来配置弹性云服务器:需要通过脚本简化弹性云服务器配置通过脚本初始化系统已有脚本,在创建弹性云服务器的时候一 ...
- 泰拉瑞亚服务器权限文件,泰拉瑞亚云服务器权限
泰拉瑞亚云服务器权限 内容精选 换一换 在管理控制台主页,选择"服务列表 > 管理与部署 > 统一身份认证服务",进入"统一身份认证服务"页面.在左 ...
最新文章
- SAP PM入门系列33 - IP16 维修计划报表
- ThinkPhp学习13
- PTA-7-1 将数组中的数逆序存放 (20分)(C语言)
- 【Flink-未解决】 FLink TaskManager with id is no longer reachable
- mysql 获取下一条记录数,如何在MySQL中查询当前数据上一条和下一条的记录
- 基于FPGA----VGA显示跳动的小白框设计
- opencv笔记——cvCreateImage函数说明
- gin框架的学习--golang
- 单片机c语言表达式,单片机C语言教程-运算符和表达式
- QCC3003项目实战:BlueMotor6 AGHFP CVC 蓝牙对讲耳机
- RNA-seq——五、根据差异基因画火山图、在火山图上标记基因名
- 基于同源策略的移动应用细粒度隐私保护技术
- SAP FICO全解析之-货币换算比率
- 安装Ubuntu VMware Workstation 不可恢复错误
- JAVA I/O流 字符流和字节流、节点流和处理流(包装流、过滤流)、缓冲流
- EBS 退货单无法退账,VALIDATE_RMA_LOT_QUANTITIES_ERROR
- 递归问题之老鼠出迷宫
- 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测
- 请求的站点不可用或无法找到怎么解决_seo优化怎么做能快速被收录
- AWS eks 用户授权
热门文章
- layui设置td宽度_layui静态表格固定td宽度,table固定td宽度
- html页面自动滑动,html实现页面滑动
- MySQL5.6 GTID
- 从零开始之uboot、移植uboot2017.01(三、lowlevel_init)
- 【华为云会议开发指南】开发流程
- win10笔记本自带蓝牙连接xbox one s无线手柄(也适用于耳机等蓝牙设备)
- ue4 中动画控制,利用conduit节点
- Leetcode 500:键盘行
- “脚本小子”和真正黑客的区别是什么?
- openwrt 配置过程