LoginSignup
0
0

2023年にRTM1.7.10サーバーを構築する

Posted at

はじめに

RTMサーバーをLinuxで立てよう!と思ったら以外につまずいたのでメモ。

構成要素

  • Ubuntu 22.04 LTS x64
  • Eclipse Temurin Java SE 8 JRE
  • Minecraft Forge 1.7.10-10.13.4.1614
  • MCRCON v0.7.2
  • RTM 1.7.10.44
  • NGTLib1.7.10.35

Ubuntuのインストール

サーバー機にインストールし、実行用ユーザーを作成する。
※説明例では minecraft ユーザーを使用している。

MCRCONのインストール

Systemdでデーモン化した際に操作ができるように、MCRCONをインストールする。

# 未導入であれば入れる
sudo apt install gcc make unzip
# お好みの作業用ディレクトリ内で
wget https://github.com/Tiiffi/mcrcon/archive/refs/tags/v0.7.2.zip
unzip v0.7.2.zip
cd mcrcon-0.7.2
make
sudo make install

Temurin Java SE 8 JRE

直接wgetできないのでTemurin公式サイトから下記条件を指定して対象ファイルをダウンロードする。

  • Operating System : Linux
  • Architecture : x64
  • Package Type : JRE
  • Version : 8 - LTS

ダウンロード後、所定のディレクトリへ配置する。
配置後、ファイルを解凍して短くリネームする。
※説明例ではディレクトリに /home/minecraft/jre/ を使用している。
※他バージョンのMinecraft Serverを動かす場合を想定して、パスは通さない。

tar -xvf OpenJDK8U-jdk_x64_linux_hotspot_8u372b07.tar.gz
mv jdk8u372-b07 8

Minecraft Forgeのインストール

Minecraft Forgeはadfoc.usの仕様上、直接wgetできないのでブラウザからダウンロードして所定のディレクトリへ配置する。
※説明例では /home/minecraft/mc/forge_1.7.0_rtm/ を使用している。

配置後、インストーラーを起動する。
インストール後にForgeのJARファイル名を短くリネームする。

/home/minecraft/jre/8/bin/java -jar forge-1.7.10-10.13.4.1614-1.7.10-installer.jar --installServer
mv forge-1.7.10-10.13.4.1614-1.7.10-universal.jar server.jar

Log4j脆弱性対策のXMLファイルをMinecraft公式サイトよりwgetする。

wget https://launcher.mojang.com/v1/objects/dd2b723346a8dcd48e7f4d245f6bf09e98db9696/log4j2_17-111.xml

Systemd用の起動・終了のシェルスクリプトを用意する。

start.sh
#!/bin/bash
cd ~/mc/forge_1.7.0_rtm
/home/minecraft/jdk/8/bin/java -Xmx16g -Xms8g -Dlog4j.configurationFile=log4j2_17-111.xml -jar ./server.jar nogui

※VMへのメモリ割り当ては、お使いの環境に合わせて調整してください。

stop.sh
#!/bin/bash
export MCRCON_HOST=localhost
export MCRCON_PORT=25575
export MCRCON_PASS=あなたのRCONパスワード
echo stop | /usr/local/bin/mcrcon -t
exit 0

一旦起動用スクリプトから起動し、EULAに同意できる場合は eula.txt を編集する。
MCRCONを利用するための設定を server.properties で行う。

server.properties(追記/変更)
rcon.port=25575
enable-rcon=true
rcon.password=あなたのRCONパスワード

Systemdへの登録

/etc/systemd/system/rtm.service
[Unit]
Description=RTM Server Service

[Service]
Type=simple
User=minecraft
ExecStart=/home/minecraft/mc/forge_1.7.0_rtm/start.sh
ExecStop=/home/minecraft/mc/forge_1.7.0_rtm/stop.sh
TimeoutStopSec=3000
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable rtm.service
sudo systemctl start rtm.service
journalctl -f -u rtm.service

起動を確認したら一旦Forge Serverを止めます。

systemctl stop rtm.service

RTM等のディレクトリへの配置

RTM本体NGTLib は CurseForgeの仕様上やはりwgetできないので別途ブラウザからダウンロードする。

※今回の説明例の場合では /home/minecraft/mc/forge_1.7.0_rtm/mods/ に配置する。

Forge Serverを起動し、ログを確認する。

sudo systemctl start rtm.service
journalctl -f -u rtm.service
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0