Project Zomboid PvPサーバー チューニング完全ガイド|softResetから最適化まで

※本記事は2026年1月時点の情報に基づいて内容を更新しています。Build 41(安定版)と、Build 42(不安定版/テスト版)では挙動・推奨運用が異なるため、どちらで運用しているかを必ず確認してください。サーバー設定変更・リセット作業は、必ず事前にバックアップを取得してから実施してください。

目次

Project Zomboid PvPサーバーの現状(2026年1月)

2026年1月時点では、安定版はBuild 41系(例:41.78.16)で運用されているケースが多く、Build 42はテスト目的の不安定版(Unstable)として配布・更新が続いています。Build 42のマルチプレイ(MP)は不安定版として提供されており、公式も「まずは20人未満の小規模サーバーで試す」趣旨の注意を出しています。

運営方針の目安は以下です。

  • 本番PvP(安定重視):Build 41(安定版)を推奨。MODを使うなら特に安定版中心で検証・運用。
  • Build 42の新要素を先行導入したい:不安定版(Build 42)でテスト運用。人数を絞り、MODは最小限(または無し)から開始。

softReset問題と解決方法(Build 42対応)

softReset(ソフトリセット)は「サーバーを完全ワイプせずに、マップ上の不要データ(血痕・死体・一部アイテム等)を整理して軽量化する」目的で使われますが、環境やバージョン差によって期待通りに動かない/途中で止まる/一部が残るなどの報告があり、運用としては手動での整理(確実に止めて、バックアップを取り、対象ファイルを整理する)が最も再現性が高い方法です。

確実な手動softReset方法

以下は「サーバーを停止してから」実施します。パスやサーバー名(例:servertest)はご自身の環境に合わせて置き換えてください。保存データの場所は通常、Zomboid/Saves/Multiplayer/<サーバー名>配下です。

  1. 事前準備:プレイヤーへ告知 → サーバー停止
    systemd等でサービス化している場合は停止コマンド、そうでない場合は起動しているプロセス/セッションを終了します。
# 例:systemdで運用している場合(名称は環境依存)
sudo systemctl stop project-zomboid-server

# 例:プロセス名で停止する場合(環境依存)
pkill -f "ProjectZomboid"

# Windows例(環境依存)
taskkill /F /IM "ProjectZomboid64.exe"
  1. 重要:バックアップを作成
    必ずセーブフォルダを丸ごと退避します。
# 例(Linux):セーブ丸ごとバックアップ
SERVER_NAME="servertest"
SAVE_DIR="$HOME/Zomboid/Saves/Multiplayer/$SERVER_NAME"
BACKUP_DIR="$HOME/pz_backups/$(date +%Y%m%d_%H%M%S)_$SERVER_NAME"

mkdir -p "$BACKUP_DIR"
cp -a "$SAVE_DIR" "$BACKUP_DIR"
  1. 整理対象ファイルの削除(例)
    環境によって生成ファイルが異なるため、まずは一般的に掃除対象になりやすいものから実施します。削除後に挙動がおかしい場合はバックアップから戻せます。
# 例:よく使われる整理対象(サーバー名・パスは置き換え)
SERVER_NAME="servertest"
SAVE_DIR="$HOME/Zomboid/Saves/Multiplayer/$SERVER_NAME"

# マップ関連(一般的に対象になりやすい)
rm -f  "$SAVE_DIR"/map_*.bin
rm -f  "$SAVE_DIR"/map_t.bin
rm -f  "$SAVE_DIR"/map_meta.bin

# 再アニメ化(ゾンビ等)関連(存在する場合)
rm -rf "$SAVE_DIR"/reanimated/

# ワールド関連(環境により存在)
rm -f  "$SAVE_DIR"/world_*.bin

# 乗り物関連(環境により存在するファイルのみ)
rm -f  "$SAVE_DIR"/vehicles.db
rm -f  "$SAVE_DIR"/vehicles.bin
  1. ResetIDの更新
    servertest.iniのResetIDを更新して、クライアント側の整合性を取りやすくします(ResetIDはサーバー管理で使われる識別子です)。
# 例:ResetIDをUNIX時刻で更新(Linux)
SERVER_INI="$HOME/Zomboid/Server/servertest.ini"
NEW_RESET_ID=$(date +%s)

# ResetID行を置換(無ければ追記)
grep -q "^ResetID=" "$SERVER_INI" \
  && sed -i "s/^ResetID=.*/ResetID=$NEW_RESET_ID/" "$SERVER_INI" \
  || echo "ResetID=$NEW_RESET_ID" >> "$SERVER_INI"
  1. サーバー起動 → ログ確認
    起動後、ログにエラーがないか確認し、必要なら段階的にプレイヤー数を戻します。Build 42(不安定版)の場合は特に、人数を絞って検証してください。

自動softResetスクリプト(運用向け雛形)

以下は「停止→バックアップ→掃除→ResetID更新→起動」を自動化する雛形です。パス・サービス名・サーバー名は必ず合わせてください

#!/bin/bash
# Project Zomboid Auto Soft Reset Script (Template)
# Updated: 2026-01

set -euo pipefail

SERVER_NAME="servertest"
BASE_DIR="/home/zomboid"
SAVE_DIR="$BASE_DIR/Zomboid/Saves/Multiplayer/$SERVER_NAME"
SERVER_INI="$BASE_DIR/Zomboid/Server/${SERVER_NAME}.ini"
BACKUP_ROOT="$BASE_DIR/pz_backups"
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
BACKUP_DIR="$BACKUP_ROOT/${TIMESTAMP}_${SERVER_NAME}"

SERVICE_NAME="project-zomboid-server"  # systemd運用している場合のみ

echo "[INFO] Stopping server..."
if systemctl list-unit-files | grep -q "^${SERVICE_NAME}\.service"; then
  sudo systemctl stop "$SERVICE_NAME"
else
  pkill -f "ProjectZomboid" || true
fi
sleep 5

echo "[INFO] Creating backup: $BACKUP_DIR"
mkdir -p "$BACKUP_DIR"
cp -a "$SAVE_DIR" "$BACKUP_DIR/"

echo "[INFO] Cleaning save files..."
rm -f  "$SAVE_DIR"/map_*.bin || true
rm -f  "$SAVE_DIR"/map_t.bin "$SAVE_DIR"/map_meta.bin || true
rm -rf "$SAVE_DIR"/reanimated/ || true
rm -f  "$SAVE_DIR"/world_*.bin || true
rm -f  "$SAVE_DIR"/vehicles.db "$SAVE_DIR"/vehicles.bin || true

echo "[INFO] Updating ResetID..."
NEW_RESET_ID="$(date +%s)"
grep -q "^ResetID=" "$SERVER_INI" \
  && sed -i "s/^ResetID=.*/ResetID=$NEW_RESET_ID/" "$SERVER_INI" \
  || echo "ResetID=$NEW_RESET_ID" >> "$SERVER_INI"

echo "[INFO] Starting server..."
if systemctl list-unit-files | grep -q "^${SERVICE_NAME}\.service"; then
  sudo systemctl start "$SERVICE_NAME"
fi

echo "[DONE] Soft reset completed. Backup: $BACKUP_DIR"

LootRespawn設定の最適化(Build 42対応)

LootRespawn(ルートの再出現)は、PvP環境の物資枯渇や格差の固定化を防ぐ一方で、過剰に早いと「補給が簡単すぎて戦闘が単調になる」原因にもなります。まずはHoursForLootRespawnMaxItemsForLootRespawnを基準に、サーバーの規模と争奪頻度に合わせて調整してください。

PvPでよく使われる調整の考え方(目安)は以下です。

  • HoursForLootRespawn:48〜168時間(2〜7日)の範囲で調整。短いほど補給が早く、長いほど探索・奪取の価値が上がります。
  • MaxItemsForLootRespawn:コンテナ内の残アイテムが少ないほど再出現しやすくなるため、値を小さくすると「空に近い箱だけ復活」、大きくすると「まだ残っていても復活」寄りになります。
  • ConstructionBonusLootRespawn:建築物内の扱いを変えるオプションです。PvPでは拠点内が無限補給にならないよう注意して調整します。

サーバーの物資バランスは、プレイヤー数・ルール(レイド可否)・MAP密度・MODの影響で大きく変わります。まずは小さな変更幅で1〜2週間運用し、補給不足(武器・弾薬・医療)と過剰供給(同一装備だらけ)を観測して微調整するのが安全です。

推奨システム要件(Build 42対応)

Build 42は不安定版として更新が続いているため、安定版よりも負荷や挙動が変わる可能性があります。特にPvPは「同時接続」「戦闘時の同期」「拠点周辺の密度(建築・アイテム)」で負荷が跳ねやすいため、スペックは余裕を持たせるのが前提です。

運用目安(一般論)は以下です。

  • CPU:高クロック・単体性能重視(PvPの瞬間負荷に効きやすい)。
  • メモリ:プレイヤー数と稼働期間(ワールド肥大)に比例して増やす。Build 42のテスト運用は余裕を見て増やす。
  • ストレージ:SSD前提。バックアップ世代数を増やすなら容量も増やす。
  • 回線:Pingとパケットロスが体感に直結。サーバー立地(リージョン)とプレイヤー分布が重要。

Ping制限設定とネットワーク最適化

PvPではPing差がそのまま不公平感につながるため、一定以上の遅延を抑制する運用が有効です。Project Zomboidのサーバー設定にはPing制限に関する項目(例:PingLimit / PingFrequency)があり、値はコミュニティ運用で調整されています。

目安(例):

  • PingLimit:120〜150ms程度(厳しめにするほど公平、緩めるほど参加者は増える)
  • PingFrequency:警告・キック判定の間隔(短いほど厳格)
# servertest.ini の例(値は運用に合わせて調整)
PingLimit=120
PingFrequency=10

Ping制限だけでなく、以下も合わせて実施すると安定しやすくなります。

  • サーバーのリージョン(東京/大阪/海外など)をプレイヤー分布に合わせる
  • Wi-Fi参加者が多い場合は「有線推奨」「ルールで補完」
  • 回線品質が悪い時間帯のイベントを避ける(大規模レイド等)

パフォーマンス最適化(Build 42対応)

Build 41/Build 42どちらでも、PvPサーバーは「同時接続」「拠点密度」「戦闘集中」によって瞬間的に重くなります。まずはバックアップ→ログ監視→段階的に調整の順で、変更は小さく積み上げてください。

メモリ割り当て(Java起動オプション)

専用サーバーの起動オプションでJavaヒープを調整できます。まずは「最低(Xms)」と「最大(Xmx)」を同じ値に寄せ、GCの暴れを抑える運用から始めるのが無難です(環境により推奨が変わるため、急激な変更は避けてください)。

# 例:メモリに余裕がある場合の目安(環境に合わせて調整)
-Xms8G -Xmx8G

運用で効きやすいチェックリスト

  • 不要なMODを減らす(特にPvPでは互換性・同期問題の原因になりやすい)
  • 定期的なsoftReset(手動整理)でワールド肥大を抑える
  • バックアップの世代管理(直近+日次+週次)
  • 同時接続が増えるイベント前にテスト(人数を増やし段階検証)

よくある質問(Build 42対応)

Build 42でsoftResetがうまくいかない場合は?

まずは「停止→バックアップ→手動整理→ResetID更新→起動→ログ確認」の流れに戻すのが安全です。不安定版(Build 42)は更新で挙動が変わりやすいので、本番運用は慎重に(人数を絞り、段階的に)進めてください。

Build 42でのPvPサーバー推奨プレイヤー数は?

Build 42(不安定版)のMPは公式が小規模からの検証を推奨しており、まずは20人未満の範囲でテスト運用するのが安全です。本番PvPで安定が最優先なら、安定版(Build 41)での運用も検討してください。

Build 41のMODはBuild 42で使用できますか?

Build 42は仕様変更が入るため、互換性が崩れる可能性があります。Build 42で運用する場合は、MODを最小限にして動作確認→段階導入が基本です。

Pingが高いプレイヤーへの対策は?

Ping制限(PingLimit等)で足切りをしつつ、リージョン選定・イベント時間帯の調整・有線推奨など運用で補完するのが現実的です。PvPは体感差が出やすいので、ルール(レイド制限、戦闘時の禁止行為)でカバーするのも有効です。

Build 42対応サーバーホスティング

Build 42は不安定版(テスト版)として更新が続くため、「Build 42対応=テンプレートがある」ではなく、基本はVPS上で手動セットアップになることが多いです。ここでは、VPSとして使いやすい国内サービスを紹介します(宣伝リンクは元記事のまま残しています)。

XServer VPS for Game

ゲーム用途向けのVPSプランがあり、手動でProject Zomboid専用サーバーを構築できます。

  • 料金例(目安):4GBプラン 月額2,200円〜(プラン・契約条件で変動)
  • ポイント:まずは小規模でテストし、同時接続が増えるなら上位プランへ

詳細を見る

ConoHa for GAME

ゲーム向けのVPSサービスで、手動で専用サーバーを構築できます。料金はキャンペーンで変動するため、申込時に最新を確認してください。

  • 料金例(通常):2GB 2,033円/月、4GB 3,969円/月、8GB 8,083円/月(キャンペーンで変動あり)
  • ポイント:Build 42(不安定版)を試すなら、人数を絞って検証→必要に応じてスケール

詳細を見る

さくらのVPS

リージョン選択肢があり、料金・仕様一覧が明確なVPSです。手動でProject Zomboid専用サーバーを構築する運用になります。

  • 料金例(大阪・月額):2G 1,848円、4G 3,740円、8G 7,480円(リージョンで変動)
  • ポイント:プレイヤー分布に合わせてリージョンを選ぶとPing面で有利

詳細を見る

Build 42対応サーバー比較(VPSとしての目安)

サービスBuild 42の扱い料金例(目安)補足
XServer VPS for GameVPS上で手動構築4GB 2,200円/月〜同時接続増なら上位へ
ConoHa for GAMEVPS上で手動構築2GB 2,033円/月〜(通常)キャンペーンで変動あり
さくらのVPSVPS上で手動構築大阪:2G 1,848円/月〜リージョン選択でPing最適化

まとめ

2026年1月時点では、Build 41(安定版)での本番運用が依然として堅実で、Build 42は不安定版として更新が続いています。Build 42のMPは小規模(20人未満)からの検証が推奨されているため、PvP本番で採用する場合は「人数を絞ってテスト→段階的に拡大」「MODは最小限」など慎重に進めるのが安全です。

softResetは環境差で不安定になりやすいため、最も確実なのは「停止→バックアップ→手動整理→ResetID更新→起動→ログ確認」の手順です。本記事の手順をベースに、サーバー負荷(同時接続・拠点密度・戦闘集中)を見ながら、設定は小さく変更して最適化していきましょう。

免責事項:本記事は2026年1月時点の情報で更新しています。Build 42(不安定版)は更新が頻繁で仕様が変わる可能性があります。必ず公式情報とパッチノートを確認し、設定変更前にはバックアップを取得してください。

目次