构建 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记录,以便于访问拥有的域名。

NameTTLTypeValuecraft.example.com3600Axxx.xxx.xxx.xxx

您可以使用此方法通过域名连接到服务器。
如果端口开放和域名设置过于麻烦,也有一种不使用它们的服务器公开方法。在这方面,常常介绍使用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/文件夹中即可轻松安装插件。

露娜聊

luna1.png

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

ngword: ['ちん(こ|ぽ|ちん)']
luna2.png

传世传言

legend.png

从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
弹性

slcak.png

首先,访问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/***/***/***

矿车速度增加

msp.png

请从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

当重新启动服务器时,可以使用标志牌来改变手推车的速度。

动态地图

dynmap.png

请从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服务器↩

广告
将在 10 秒后关闭
bannerAds