minecraft server hosting
ゲームサーバーホスティング
ゲームサーバーループは1コアで動作し、プレイヤーが不満を言うかどうかを決める数値は、そのコアの速度と、割り込まれずにどれだけ一貫して動作できるかです。当社は市場で最も高いクロックのシリコンを選び、それをピン留めし、isolcpusとticklessモードでカーネルのハウスキーピングをオフにし、その前にゲームレイヤーフィルタリングを配置して、コミュニティへの攻撃がサポートチケットにならないようにします。
この構成の理由
NITROはZen 5を5.9 GHzで実行し、コアをピン留めして隔離するため、サーバーが満杯でもフレームタイムのジッターを1ミリ秒未満に保ちます。L7フィルタリングプロファイルはSourceエンジン、FiveM、Minecraft、TeamSpeakのトラフィックパターンを理解し、ジャンクをドロップしながらプレイヤーはドロップしません。
当社がデプロイする構成
サイジング
コア数ではなく、シングルスレッドのヘッドルームでサイズを決めます。権威のあるゲームループは1コアで実行されます。128ティックのシューティングで12スロットの場合、NITROコア1つをフルクロックで4 GB必要とします。Rustや大規模なSourceサーバーで100プレイヤーを超える場合は、エンティティの変動でループがスパイクするため、2コア分のヘッドルームが必要です。Minecraftで40プレイヤーとプラグインスタックの場合: 4コア、12 GB、そのほとんどがヒープです。定常状態の負荷を60%未満に保ちます。
ティック予算の計算
ティックは厳格な期限です。64ティックでは1フレームあたり15.6ms、128ティックでは7.8msです。この予算は、接続されたすべてのプレイヤーの物理演算、ヒット判定、AI、ネットワークシリアライズをカバーします。一度でも超過すると、サーバーはティックをドロップします。プレイヤーにはラバーバンディングやショットの不発として認識されます。平均ではなく、p99フレームタイムをプロファイリングしてください。平均はフラットなままで、ラウンド開始、マップ変更、大量エンティティスポーンは予算を大幅に超えます。定常状態のフレームタイムが予算の半分未満になるようにサイズ設定してください。そうすれば、スパイクでも予算内に収まります。
L7ゲームフィルタリングの実際の効果
ボリュームスクラビングはパイプの詰まりを防ぎます。有効なパケットで構成されたクエリフラッドには効果がありません。Sourceエンジンは任意のアドレスからのA2S_INFOに応答するため、攻撃者は小さなクエリを送信し、あなたのティックループが応答の代金を支払うか、他の誰かにリフレクトします。レイヤー7でのフィルタリングは、スクラバーがプロトコルを理解していることを意味します:クエリに対するチャレンジレスポンス、ハンドシェイクの送信元レート制限、不正なパケットをゲームプロセスに到達する前にドロップします。15Tbpsのインライン容量は基盤です。プロトコル認識がループをスケジュール通りに保つ部分です。
問題点
- ティックループにバーストまたは共有vCPUを購入する。持続的な負荷はブーストクロックを下げ、p99フレームタイムは約2倍になり、グラフに表示される前にプレイヤーが感じます。NITROでコアをピン留めしてください。
- ゲームサーバーとそのMySQLまたはRedisバックエンドを同じコアで実行する。fsyncのストールやGCポーズがティックウィンドウ内に発生し、負荷時にサーバーがフレームをドロップします。
- 平均フレームタイムでサイズを決める。平均はフラットなまま、ラウンド開始、マップローテーション、大量のエンティティスポーンが予算を超過します。アイドル時ではなく、これらのイベント中に測定したp99に対してプロビジョニングします。
マシンを調整
- CPUスケジューリング — Pinned + isolcpus + tickless · €18
- DDoS保護 — ゲームレイヤーL7フィルタリング · €24
- その他 — Second-resolution metrics + alerting · €5