LoginSignup
1
1

ラズパイで作るMinecraft Server

Last updated at Posted at 2023-10-14

MInecraft Sever を Rraspbian で立てる

見よう見まねかつお遊び程度でやってます。
いろいろ躓いたけど動作までできたので記録として残してます。

Usb boot でSSDを使っていることを前提にします(後日Raspberry pi の USB Bootに関しては記事にするつもり)

基本概要

  • Raspberry pi 4 model B 4GB
  • usb接続SSD 256GB(余ってたやつ)
  • OS : Raspbian
  • 同接6人程度で24時間稼働を目標

ufw でポートのセキュリティ対策

$ sudo apt install ufw

$ sudo ufw deny

$ sudo ufw allo 22, 25565 

$ sudo ufw enable

// 22はSSH, 25565はMinecraftで使用するポート
// SSHに関してはポートを変えた方がセキュリティ対策的にいいと思います 

念のためにファイアウォールの状態を確認

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
25565/tcp                  ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
25565/tcp (v6)             ALLOW       Anywhere (v6)

端末側でIPの固定

LAN側のRaspberry pi 側のIPを固定

$ sudo vim /etc/dhcpcd.conf
 
// Example static IP configuration を参考にして固定化
// 下記は有線eth0、xは環境に合わせて設定

interface eth0
static ip_address=192.168.x.x/24
static routers=192.168.x.x
static domain_name_servers=192.168.x.x

( my domainと紐づける場合はグローバルIPをdomainの管理画面にてAレコードで登録 )

ルーター側の設定

使ってるルーターによって設定方法が変わるので詳しくはググって欲しい。

私は2重ルーターで運用されていたので、WiFi側に影響しないか確認するのにめっちゃ手間取った。結論としては2層目側のルーターで設定すればOK

グローバルの動的IPに関しては諦めてつながらなくなったら再設定することにした。

サーバーの状態を遠隔で確認できるように設定もしたかったが、めんどくさくなったので設定してません。

  • ポート開放
    • 25565/tcp
  • ルーティング
    • 25565/tcpの通信が来たときにサーバーに通信を回す設定
  • DHCPでルーターでIPを固定
    • サーバーのMACアドレスと固定したいIPをリンクさせる
    • 必ずサーバー側で固定したIPと一致させる

軽量Minecraft ServerのPaperMCをインストール

javaのインストール

$ sudo apt install openjdk-17-jdk-headless

念のためにバージョンを確認

$ java -version
openjdk version "17.0.3" 2022-04-19

マイクラサーバーの起動ファイルをDLする
papermc公式URL : https://papermc.io/downloads/paper

// この時はversion 1.20.1-196
$ wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/196/downloads/paper-1.20.1-196.jar

Serverの起動

ダウンロードしたファイルがあるディレクトリに移動して起動する

$ java -Xms2560M -Xmx2560M -jar paper-1.20.1-196.jar nogui

// Xms,Xmx:メモリの割り当て量を決める。同値を入力しないと不安定になる可能性がある。

初回起動時にワールドファイル等がダウンロードされるが、必ずエラーがでてEULAへ許諾が求められる

$ vim eula.txt

# eula = false
          ↓
         true

動作確認

minecraftを起動し、マルチサーバーからサーバーに入ってみる
この時ローカル環境にいる場合IPのところはローカルにしないとエラーが出て入れないので注意

友達にサーバーを公開する場合はグローバルIPを教えてあげれば入れるようになる

終わりに

paperMCを起動しても重すぎたのかうまくワールド生成されず何個もワールドを作ったがうまくいかなかったのでバニラサーバーでワールド生成して無理やりワールドコピーして起動させた苦い思い出がある。

初めて公開サーバーを構築したけど、セキュリティ対策だったり、サーバーの仕組みについて勉強になってよかった。

稼働して1週間経ったがネザーからワールドに生成すると重くなるので新たに小型のN100 miniPCを買おうか検討してる始末である....

至らぬ点がたくさんあると思いますが、参考になれば幸いです。

参考文献

1
1
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
1
1