构建 Minecraft 服务器(Spigot)并进行适当的设置
首先
最近我开始运营Minecraft服务器(Spigot1),所以我打算写一些关于其运行环境、设置和安装的插件的内容。
我将展示我所思考的最强大的Minecraft服务器。
-
- Minecraft (Spigot) 1.14.4
-
- バニラ
-
- ホワイトリスト制
-
- チャット日本語化
- その他色々
如果您已经完成服务器的搭建,请从服务器的设置和插件安装开始查看。
建立服务器
我們將引入被稱為比官方更高功能的Spigot伺服器作為Minecraft伺服器。
环境
我利用GCP的免费额度2创建了以下环境。这是一个普通的环境,没有进行任何奇怪的设置。
-
- Ubuntu 18.04.3 LTS
- n1-standard-1 (CPU 1 | 3.75 GB)
安装
由于需要Java 8或更高版本才能运行Spigot,因此请安装Java。
sudo apt-get install openjdk-8-jre-headless
当确保安装好了Java之后,我们将进行Spigot主体的构建。
请按照https://www.spigotmc.org/wiki/buildtools/的步骤进行操作。
按照下面的方式执行,即可获得一个1.14.4版本的服务器。
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar --rev 1.14.4
根据大人的要求,似乎用户必须自己构建。然而,https://getbukkit.org/download/spigot 上提供了已经构建好的文件。只要获取到spigot-1.14.4.jar这样的可执行文件,就算成功了。
初始启动
java -jar spigot-1.14.4.jar
我认为初次启动后会立即结束。
只要您同意许可条款5,就可以在可执行文件的相同目录中生成eula.txt文件。请将eula=false部分修改为eula=true。
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun Sep 01 00:00:00 UTC 2019
eula=true
再次启动spigot-1.14.4.jar,将生成一个世界并使服务器进入连接等待状态。
公開 – 公众知晓的意思
Minecraft服务器工作在25565端口上,因此需要打开25565端口,并提供机器的全局IP以进行访问。此外,我们还创建了一个子域名并注册了A记录,以便于访问拥有的域名。
您可以使用此方法通过域名连接到服务器。
如果端口开放和域名设置过于麻烦,也有一种不使用它们的服务器公开方法。在这方面,常常介绍使用Hamachi6的方法,但我个人推荐使用ngrok7。
创建启动脚本
我会创建一个脚本来指定内存容量并在后台启动服务器。
为了实现后台执行,我会安装Screen 8。
sudo apt-get install screen
我创建了一个像下面这样的Makefile。
start:
screen -d -m -S "spigot" java -Xms1G -Xmx2G -XX:+UseConcMarkSweepGC -jar spigot-1.14.4.jar
通过输入“make start”,可以启动服务器。
服务器的设置
我们将根据要求逐步更改服务器设置。
基本设置
基本设定
基本设定
我已经将 server.properties 文件修改如下。重要的是加入了白名单,其他的只是出于个人喜好而改动。
# 見栄を張って最大接続数を少し増やしました
max-players=32
# 安全のためホワイトリスト制に変更
white-list=true
# サーバー紹介文を変更
motd=A Minecraft Server \u00A79[version 1.14.x] By Spigot
我正在将spigot.yml中的重新启动脚本更改为自定义的启动脚本。
settings:
restart-script: make start
添加白名单
由于已在前面的步骤中将其列入白名单,因此基本上只有将用户添加到白名单才能连接到服务器。
从服务器控制台中指定要添加的用户名,并执行以下命令。如果正在使用screen,请使用screen -r进行连接,并使用Ctrl-A D进行分离。
whitelist add [username]
安装插件
在使用Spigot服务器时,只需将执行文件放置在./plugins/文件夹中即可轻松安装插件。
露娜聊

请从 https://github.com/ucchyocean/LunaChat/releases 下载 LunaChat.jar,并将其放置在 ./plugins/ 文件夹中。
重新启动服务器后,将在 ./plugins/LunaChat/ 文件夹中创建配置文件。
例如,config.yml 默认情况下设置了以下类似的NG词。
ngword: ['ちん(こ|ぽ|ちん)']

传世传言

从https://dev.bukkit.org/projects/joinmessages/files下载LegendaryMessages.jar,并将其放置在./plugins/文件夹中。
重新启动服务器并编辑./plugins/LegendaryMessages/文件夹中的config.yml,使其如下所示。
Returning_Join_Message:
Message: '&d%player_name% さん登場!!ヽ(`▽´)/'
Quit_Message:
Message: '&d%player_name% さんがお帰りです(´・ω・`)'
Slack
弹性

首先,访问https://my.slack.com/services/new/incoming-webhook,获取Slack的Webhook URL。
接下来,从https://github.com/mastercoms/SlackMC/releases下载Slack.jar,并将其放置在./plugins/中。
重新启动服务器,并编辑./plugins/Slack/中的config.yml文件,指定webhook URL。
webhook: https://hooks.slack.com/services/***/***/***
矿车速度增加

请从https://www.spigotmc.org/resources/minecart-speed-plus.69639/下载MinecartSP.jar文件,并将其放置在./plugins/文件夹中。
为了让玩家能够更改矿车的速度,您需要给予他们相应的权限。请在permissions.yml文件中创建适当的权限,并允许msp.signs权限。
server.basics:
description: Basic permissions
default: true
children:
msp.signs: true
当重新启动服务器时,可以使用标志牌来改变手推车的速度。
动态地图

请从https://github.com/webbukkit/dynmap/releases下载MinecartSP.jar,并将其放置在./plugins/文件夹中。
重新启动服务器并执行以下命令,地图绘制将开始。
dynmap fullrender world
Dynmap在8123端口运行,因此您需要打开8123端口并通过浏览器访问http://[IP地址]:8123进行查看。
然而,我觉得访问8123端口并不太理想,所以我决定使用反向代理将其在80端口发布到子目录。
安装Web服务器Nginx15。
sudo apt-get install nginx
编辑/etc/nginx/nginx.conf文件,将/include /etc/nginx/sites-enabled/行注释掉。
http {
...
include /etc/nginx/conf.d/*.conf;
# include /etc/nginx/sites-enabled/*;
}
创建一个具有适当名称的文件在 /etc/nginx/conf.d/ 中,然后对其进行设置,以便在访问 /dynmap 时显示Dynmap。
server {
listen 80;
listen [::]:80;
server_name minecraft;
# `/dynmap`にアクセスすると8123番ポートのDynmapに繋がります
location /dynmap/ {
proxy_pass http://localhost:8123/;
}
# `/`にアクセスするとホームページが表示されます
location / {
root /home/xxxxx/web;
}
}
我会在使用root指定的目录中添加一个适当的index.html文件来创建主页。
<h1>Welcome to My Server</h1>
<a href="./dynmap">Dynmap</a>
当您重新启动Nginx后,您应该能够在http://[IP地址]/dynmap上查看地图。
sudo nginx -s reload
最终
我为了备忘录的目的,写下了我们运营服务器直到现在的所有事情。希望对那些希望像我一样运营Minecraft服务器的人有所帮助。
通过扩展功能的包装服务器MOD↩
附赠为期12个月的免费试用,价值300美元↩
安装Spigot↩
为避免DMCA问题↩
MINECRAFT用户最终许可条款↩
能实现虚拟私人网络的软件↩
可公开外部网络的服务↩
CLI版窗口管理器↩
由于从未出现过服务器崩溃情况,因此尚未确认其运行情况↩
LunaChat↩
LegendaryMessages↩
SlackMC↩
Minecart Speed Plus↩
Dynmap↩
非常有名的Web服务器↩