一台服务器装两个sql server_在云上配置Minecraft服务器

最近在腾讯云上买了一台服务器,不知道该干啥用,配置了一个Minecraft服务器,喜欢我的世界的小伙伴们一起来玩耍啊

原文参考 Setting up a Minecraft server using Systemd

1. 准备

1.1 准备一台centos 7.X的服务器

804e135946193ec3ea47359d3c71c91b.png
腾讯云 centos7.6

1.2 配置入站规则

0a8f06dab070cd0103644c5a95080f68.png
minecraft服务器的默认端口是25565

1.3 配置环境

# 升级系统
root# yum -y update

显示类似如下内容,说明安装成功

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

2. 创建用户

为minecraft创建独立的用户环境

"/var/minecraft" -s 

这个用户的主目录在/var/minecraft,不用设置密码,所以也就不能通过minecraft用户登录

{backup/server,build/spigot,build/mcrcon,server

主目录下有三个文件夹

  • build: 生产环境,下载编译都在这里
  • backup: 生成好的文件会备份在这里
  • server: 服务器所在文件夹

3. 创建脚本

#!/bin/env bash

# Download
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O BuildTools.jar &> lastdl.log && echo "Download Successful"

# Build
# use --rev version to overwrite latest with given argument else use latest
java -Xmx1024M -jar BuildTools.jar --rev ${1:-latest} &> lastbuild.log && echo "Build Successful"

# Backup
mv ../../server/spigot.jar ../../backup/server/`date +"%Y-%m-%H-spigot.jar"` && echo "Backup Successful"

# Install
mv spigot-1.*.jar ../../server/spigot.jar && echo "Install Successful"

将以上内容粘贴到/var/minecraft/build/spigot/update.sh

修改文件权限

root# chmod +x /var/minecraft/build/spigot/update.sh
root# chown minecraft.minecraft -R /var/minecraft/

4. 更新脚本

cd ~/build/spigot
minecraft> ./update.sh

这一步需要一些时间,主要依赖于github网站的连接速度,如果出错,可能是运行内存过少,需要自行查看日志lastbuild.log进行查看。也可将update.sh中的脚本在命令行中直接执行。

可以多运行几次尝试,成功运行会生成/var/minecraft/server/spigot.jar

尝试运行minecraft(注意会在当前文件夹生成游戏文件,当心造成混乱)

minecraft> cd ~/server
minecraft> java -jar spigot.jar

如果服务器内存过小,可能会报错,需要添加类似-Xmx512M限定内存使用

运行成功会在/var/minecraft/server/生成如下文件

25b71a3b2a503b946bdaa193ae748350.png

5. 下载编译mcrcon

mcrcon可以连接到minecraft上运行一些简单的操作,具体怎么用没研究,可以参考原文

root# su minecraft
minecraft> cd ~/build/mcrcon
minecraft> git clone  git://git.code.sf.net/p/mcrcon/code mcrcon-code
minecraft> cd mcrcon-code
minecraft> gcc mcrcon.c -o mcrcon
minecraft> cp mcrcon ~/

如果服务器已启动,可以通过如下方式连接

minecraft> ./mcrcon -H localhost -P $port -p $password -t

$port、$password两个参数在service.properties中设置

rcon.port=$port
rcon.password=$password
enable-rcon=true

另外,还需要设置eula.txt

eula=true

设置service.properties (避免正版验证)

online-mode=false

6. 配置服务

[Unit]
Description=Minecraft Server
Documentation=

Wants=network.target
After=network.target

[Service]
User=minecraft
Group=minecraft
Nice=5
EnvironmentFile=-/var/minecraft/unit.conf
KillMode=none
SuccessExitStatus=0 1

ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
PrivateTmp=true
InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found
ReadWriteDirectories=/var/minecraft/server
WorkingDirectory=/var/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar spigot.jar --noconsole
ExecStop=/var/minecraft/mcrcon -H localhost -P $port -p $password stop

[Install]
WantedBy=multi-user.target

将以上内容粘贴到/etc/systemd/system/minecraft.service

启动服务

root# systemctl daemon-reload
root# service minecraft start

使用service minecraft status可以查看运行状态,如果有错误,可以到/var/minecraft/server/logs/latest.log查看

7. 升级

root# su minecraft
minecraft> cd ~/build/spigot/
minecraft> ./update.sh
Download Successful
Build Successful
Backup Successful
Install Successful
minecraft> exit
root# systemctl restart minecraft

8. 联机

只要登入minecraft输入你的主机公网ip,就可以联机了

5b97358ab68e51cea76db4034bdda1cd.png

无需正版账号,网上找找minecraft启动器安装就行,注意minecraft的版本,推荐几个启动器

Hello Minecraft! Launcher - 受欢迎的 Minecraft 启动器

BakaXL

java下载地址

9. 拓展

如果主机的配置比我好,建议使用docker

https://hub.docker.com/r/itzg/minecraft-server

里面有详细的使用命令

支持各种类型 minecraft-server

  • Spigot
  • PaperSpigot
  • SpongeVanilla
  • Fabric
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值