MiscreatedにはWindows向け専用サーバー(SteamCMDアプリ302200)があり、hosting.cfgと起動引数で設定します。LinuxではWineまたはDockerで動かします。開発元が詳細な文書を公開していないため、以下はホスティング業者とコミュニティのガイドに基づき、ポートや匿名ログインなど一部は要確認として示します。
手順ごとのインストール
マシンを確認:4 cores, 8 GB RAM, 30 GB disk (community estimate)。
SteamCMDをダウンロードし、サーバー用フォルダを作成します。
SteamCMDでサーバーをインストール:login (anonymous, otherwise a Steam account owning the game), app_update 302200 validate。
サーバーを一度起動して停止し、hosting.cfgを編集します。
Bin64_dedicated\MiscreatedServer.exeを+sv_maxplayers、+map、-sv_bind <外部IP>、-sv_port 64090、+http_passwordを付けて実行します。
ファイアウォールとルーターでポート 64090-64094 (TCP/UDP) を開放します。
localhost(127.0.0.1)で確認し、別のネットワークから外部接続も確認します。
再起動を予定します。サーバーは最大24時間(sv_maxuptime)で自動停止します。
自動起動(タスクスケジューラまたはsystemdサービス)を設定します。
MiscreatedServerのバックアップと更新をスケジュールします。
必要条件
公式の数値は公開されていません。50人程度なら4コア、RAM 8GB、ディスク30GBを目安にしてください(推定)。WindowsまたはWine/Docker上のLinux。SteamCMDのアプリ302200はゲームを所有するSteamアカウントを要求する場合があります(匿名ログインが失敗した例あり)。まず匿名で試してください。クライアントとサーバーは同一バージョンが必要です。
ローカル環境へのインストール(Windows)
インストール後、以下の引数で起動します(IPは外部IPに置き換え、ローカルテストではマシンのIPを使用)。ゲームから127.0.0.1で接続します。
C:\steamcmd\steamcmd.exe +force_install_dir C:\miscreated-server +login anonymous +app_update 302200 validate +quit
cd /d C:\miscreated-server
Bin64_dedicated\MiscreatedServer.exe +sv_maxplayers 50 +map islands -mis_gameserverid 1337 -sv_bind 203.0.113.10 -sv_port 64090 +sv_servername "My Miscreated Server" +http_password ChangeMe! +http_startserver port:64190Linux VPS/専用サーバーへのインストール
Linux向けのネイティブ版は文書化されていません。コミュニティ製Dockerイメージ(docker-steamcmd-wine、非推奨表示)はホストネットワーク、steamapps/common/MiscreatedServerのhosting.cfg、定期再起動を使います。文書化された範囲に留めるならWindows Serverを選んでください。
開放するポート
- 64090-64094 TCP/UDP:サーバーが使う範囲(コミュニティ製Dockerイメージ)。ゲームポートは-sv_portで指定
- 64190/TCP:HTTP RCON(例:+http_startserver port:64190):公開しない
Linuxファイアウォール(ufw)
Ubuntu/Debianでは、締め出されないよう先にSSHを許可し、続いてゲームのポートを許可します。
sudo ufw allow OpenSSH
sudo ufw allow 64090:64094/udp
sudo ufw allow 64090:64094/tcp
sudo ufw enable
sudo ufw statusWindowsファイアウォール(netsh)
管理者権限のPowerShell(または管理者のcmd)で実行します。
netsh advfirewall firewall add rule name="Miscreated 64090-64094/UDP" dir=in action=allow protocol=UDP localport=64090-64094
netsh advfirewall firewall add rule name="Miscreated 64090-64094/TCP" dir=in action=allow protocol=TCP localport=64090-64094プロバイダーのファイアウォールとポート転送(NAT)
サーバーをOVH・Hetzner・Scalewayなどに置く場合は、同じポートをネットワークファイアウォール(セキュリティグループ)でも開放します。自宅運用ではルーターからマシンの固定ローカルIPへポート転送(NAT)してください。確認は外部(モバイル回線や友人)から行います。自宅ネットワーク内のテストでは判断できません。
自動起動と監視
/etc/systemd/system/<name>.service を作成し、sudo systemctl daemon-reload && sudo systemctl enable --now <name> を実行します。ログは journalctl -u <name> -f。
[Unit]
Description=Miscreated dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/miscreated
ExecStart=/usr/bin/xvfb-run /usr/bin/wine64 Bin64_dedicated/MiscreatedServer.exe +sv_maxplayers 50 +map islands -sv_bind 203.0.113.10 -sv_port 64090
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.targetWindowsでの自動起動(タスクスケジューラ)
「スタートアップ時」に起動スクリプトを実行するタスクを作成し、最上位の特権と「ユーザーがログオンしているかどうかにかかわらず実行する」を設定します。
更新・バックアップ・再起動
サーバーを停止し、app_update 302200 validateを再実行して再起動します。大きな更新の前にMiscreatedServerをバックアップしてください。 少なくとも24時間ごとに再起動してください。サーバー自体がこの上限を課します(sv_maxuptime、ホワイトリスト外では12時間)。
# backup
tar czf ~/backup-$(date +%F).tar.gz -C ~/server MiscreatedServerサーバーの登録と見つけ方
サーバーを公開したら、https://game-rank.com/jeux/miscreated(このツールの運営サイト)に登録すると、プレイヤーが見つけてフォロー・投票できます。
トラブルシューティング
- 外部から接続できないがlocalhostでは動く場合:OSのファイアウォール、プロバイダーのファイアウォール、NAT転送のいずれかが未設定か、プロトコル(UDP/TCP)が違います。1層ずつ確認してください。
- ゲーム更新後に接続できない場合:クライアントとサーバーのバージョンを一致させる必要があります。サーバーを更新して再起動してください。
- サーバーがすぐ終了する場合:コンソールから起動してエラーを確認し、空きRAM・ディスク・必要なソフトウェアを確認してください。
- パッチ1.18.x以降サーバーが初期化できない場合:-sv_bind <外部IP>を追加してください(Steam UGCコンテンツ使用時のみ省略可)。
- hosting.cfgのサーバー名は無視されます。起動行の+sv_servernameを使ってください。
よくある質問
- サーバーのSteamアプリIDは?
- 302200(Miscreated Dedicated Server)。コミュニティ情報では匿名ログインが失敗することがあり、その場合はゲームを所有するSteamアカウントを使います。
- サーバーを更新するには?
- サーバーを停止してapp_update 302200 validateを再実行します。クライアントとサーバーは同じバージョンが必要です。
- RCONにはどう接続しますか?
- +http_startserver(ポートは任意)で有効化し、hosting.cfgのhttp_passwordまたは起動時の+http_passwordで保護します。Web RCONクライアントが接続します。このポートは非公開にしてください。
- サーバーを知ってもらうには?
- https://game-rank.com/jeux/miscreated(このツールの運営サイト)に登録すると、プレイヤーが見つけてフォロー・投票できます。
