MENU

Fun & Interesting

【自宅鯖】簡単自作マイクラサーバーの作り方

【DIY】手作りガジェット研究所 38,291 lượt xem 3 weeks ago
Video Not Working? Fix It Now

手作りガジェット研究所のキョンまです。
ラズパイで24H稼働する自宅マイクラサーバーを作ります。
サムネの装備だと数万円かかりますが、実際必要なのはラズパイ4だけなので一万円以下でできます。
※動画で作ったサーバーは今月いっぱい(2025年1月中)解放してます。
 興味のある方はアクセスしてみてください。何もありませんが。
 サーバー名:※お好きな名前を
 サーバーアドレス:kyonma-minecraft.mydns.jp:25565


●動画で使った主な材料です。

ラズパイ4
https://amzn.to/4fP45AQ

ラズパイ4用ヒートシンク
https://amzn.to/4fRphqb

ラズパイ用ラックマウント
https://amzn.to/4fIHfuQ

19インチサーバーラック
https://amzn.to/3C8OMFp

ラズパイ4用USB-C電源ケーブル
https://amzn.to/3DUXYhl

※Amazonのアソシエイトとして、【DIY】手作りガジェット研究所は適格販売により収入を得ています。


●電源ON時のサーバー自動起動のコードです。

【shellscript】

#!/bin/bash
cd ~/minecraft
source ~/myenv/bin/activate
java -Xms2048M -Xmx3060M -jar server.jar nogui

【systemD】

[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=kyonma
WorkingDirectory=/home/kyonma/minecraft
ExecStart=/bin/bash /home/kyonma/minecraft/start.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

●OLEDモニタのCPU温度表示のコードです。電源ON時に自動起動します。

【python】

import time
import board
import busio
from adafruit_ssd1306 import SSD1306_I2C

# I2Cの初期化
i2c = busio.I2C(board.SCL, board.SDA)

# OLEDディスプレイの初期化
WIDTH = 128
HEIGHT = 32
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)

def get_cpu_temp():
# CPU温度を取得
with open("/sys/class/thermal/thermal_zone0/temp", "r") as f:
temp = f.read()
return float(temp) / 1000 # ミリケルビンを摂氏に変換

while True:
# OLEDをクリア
oled.fill(0)

# CPU温度を取得
cpu_temp = get_cpu_temp()

# CPU温度を表示
oled.text("CPU Temp:", 0, 0, 1) # 1行目
oled.text(f"{cpu_temp:.2f} C", 0, 16, 1) # 2行目

# OLEDに描画を反映
oled.show()

# 1秒待機
time.sleep(1)

【systemD】

[Unit]
Description=CPU Temperature Display on OLED
After=network.target

[Service]
User=kyonma
WorkingDirectory=/home/kyonma
ExecStart=/home/kyonma/myenv/bin/python /home/kyonma/cpu_temp_oled.py
Restart=always
Environment=DISPLAY=:0
StandardOutput=inherit
StandardError=inherit
SyslogIdentifier=cpu_temp_oled

[Install]
WantedBy=multi-user.target

Comment