【Minecraft】Spigotサーバー構築の備忘録

サーバーを構築する度に忘れている or 新しくなっている部分があったので、
自分のための備忘録です。

メモベースなので、詳細は省いています。
何か質問等あれば、ツイッターやコメントでご連絡いただければと思います。

サーバー環境

OS:Amazon Linux 2
Minecraft Version:1.17


サーバー設定

とりあえず

$ sudo yum update -y

タイムゾーン

$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo timedatectl

crond再起動

$ sudo systemctl restart crond.service

java16をインストール

https://docs.aws.amazon.com/ja_jp/corretto/latest/corretto-16-ug/generic-linux-install.html#rpm-linux-install-instruct


Spigotサーバー構築

ビルド

$ sudo yum install -y git
$ mkdir ~/build
$ cd ~/build
$ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
$ java -jar BuildTools.jar --rev 1.17

サーバー起動

$ mkdir ~/server
$ cd ~/server
$ cp ~/build/spigot-1.17.jar ~/server/
$ java -Xms2048M -Xmx4096M -jar spigot-1.17.jar nogui
$ vim eula.txt

おまけ

1. dynmapをhttpsで表示

Apatch準備

$ sudo yum install -y httpd httpd-devel httpd-tools mod_ssl
$ sudo systemctl enable httpd.service
$ sudo systemctl start httpd.service

SSL証明書を取得

$ sudo amazon-linux-extras install -y epel
$ sudo yum install -y certbot
$ sudo certbot certonly --webroot -w /var/www/html -d example.com --email example@gmail.com -n --agree-tos --debug

SSL関連の設定・リバースプロキシの設定

httpd.confを編集

$ sudo vim /etc/httpd/conf/httpd.conf

追記

<VirtualHost *:80>
    ServerName example.com:80
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    </IfModule>
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com:443
    ProxyRequests Off
    ProxyPass /dynmap/ http://localhost:8123/
    ProxyPassReverse /dynmap/ http://localhost:8123/
</VirtualHost>

ssl.confを編集

$ sudo vim /etc/httpd/conf.d/ssl.conf

下記2箇所の行を書き換え

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

設定を読み込む

$ sudo httpd -k graceful

2. SSL証明書の更新を自動化

$ sudo vim /etc/cron.d/letsencrypt

追記

00 05 01 * * root sudo certbot renew --deploy-hook "sudo httpd -k graceful"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です