game-networking
Implements networking for multiplayer games, handling protocols, latency, and synchronization.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o game-networking.zip https://jpskill.com/download/22220.zip && unzip -o game-networking.zip && rm game-networking.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22220.zip -OutFile "$d\game-networking.zip"; Expand-Archive "$d\game-networking.zip" -DestinationPath $d -Force; ri "$d\game-networking.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
game-networking.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
game-networkingフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
game-networking
目的
このスキルは、AIがマルチプレイヤーゲームのネットワーキングを実装し、プロトコル(例:UDP、TCP)の管理、レイテンシーの最小化、およびシームレスなプレイヤーインタラクションのためのゲーム状態の同期を可能にします。
使用する場面
オンラインシューター、MMO、協力型アドベンチャーなど、リアルタイム通信を必要とするマルチプレイヤーゲームを構築する際にこのスキルを使用してください。プレイヤーの同期、サーバー・クライアントアーキテクチャ、またはゲームループにおけるネットワーク中断の処理を伴うシナリオに適用します。
主な機能
- 低レイテンシーで信頼性の低いデータ伝送にはUDPを、信頼性の高い順序付けられた配信にはTCPを処理します。
- 補間および予測アルゴリズムを介したレイテンシー補償を実装し、ゲームプレイをスムーズにします。
- デルタエンコーディングやオーソリティサーバーなどの技術を使用してゲーム状態を同期します。
- NATトラバーサルとピアツーピア接続をサポートし、サーバーへの依存を減らします。
- パケット圧縮と優先順位付けにより帯域幅の最適化を管理します。
使用パターン
このスキルを使用するには、まずネットワークコンテキストを初期化し、次に接続を確立し、データの送受信を行い、切断を処理します。堅牢性のために、ネットワーク操作は常にtry-catchブロックで囲んでください。例えば、ゲームループでは、毎フレーム受信パケットをチェックし、それに応じてゲーム状態を更新します。メインスレッドをブロックしないように非同期パターンを使用してください。認証が必要な場合は、コマンドを呼び出す前に環境変数$GAME_NETWORKING_API_KEYを設定してください。
一般的なコマンド/API
OpenClaw CLIまたはREST APIを介して対話します。CLIコマンドを使用するには、まずopenclaw activate game-networkingでスキルをアクティブにする必要があります。
-
CLIコマンド:
- ネットワークセッションの初期化:
openclaw game-networking init --protocol udp --port 5000 --key $GAME_NETWORKING_API_KEY- 例: ポート5000でUDPサーバーをセットアップし、APIキーを要求します。
- パケットの送信:
openclaw game-networking send --host 192.168.1.1 --data '{"player_pos": [10, 20]}'- フラグ: ターゲットIPには
--host、JSONペイロードには--data。
- フラグ: ターゲットIPには
- パケットの受信:
openclaw game-networking listen --timeout 5- 5秒のタイムアウトで受信データをリッスンします。
- ネットワークセッションの初期化:
-
APIエンドポイント:
- POST /api/network/connect: 接続を確立します。body:
{"protocol": "udp", "host": "localhost", "port": 5000}- ヘッダーが必要です:
Authorization: Bearer $GAME_NETWORKING_API_KEY
- ヘッダーが必要です:
- GET /api/network/status: 現在のレイテンシーと接続統計を取得します。クエリパラメーター:
?sessionID=123 - PUT /api/network/sync: ゲーム状態の更新を送信します。body:
{"state": {"players": [{"id": 1, "pos": [5, 10]}]}}
- POST /api/network/connect: 接続を確立します。body:
-
コードスニペット:
- Pythonでの初期化と接続:
import openclaw api_key = os.environ.get('GAME_NETWORKING_API_KEY') session = openclaw.game_networking.init(protocol='udp', port=5000, key=api_key) session.connect(host='192.168.1.1') - データの送信:
data = {'player_pos': [10, 20]} openclaw.game_networking.send(session, data)
- Pythonでの初期化と接続:
-
設定形式:
- 設定にはJSONを使用します。例:
{ "protocol": "tcp", "maxLatency": 100, "syncInterval": 50 }network-config.jsonとして保存し、CLI経由で渡します:openclaw game-networking init --config network-config.json
- 設定にはJSONを使用します。例:
統合に関する注意点
このスキルをUnityやGodotのようなゲームエンジンに統合するには、OpenClaw SDKをインポートし、スクリプトから関数を呼び出します。Unityの場合、NuGet経由でOpenClawパッケージを追加し、C#スクリプトで参照します。常に依存関係を確認してください。スキルがゲームのアーキテクチャ(例:クライアント・サーバー vs P2P)と互換性があることを確認してください。他のOpenClawスキルと併用する場合は、それらを連結します。例えば、game-authを最初に利用してユーザーログインを処理し、そのトークンを$GAME_NETWORKING_API_KEYを介してネットワークコマンドに渡します。ファイアウォールの問題を処理するために、シミュレートされた環境で統合をテストしてください。
エラー処理
接続タイムアウト、パケットロス、無効なAPIキーなどの一般的なエラーを予測してください。CLI/API呼び出しにはtry-exceptブロックを使用します。例えば、接続失敗の場合はNetworkErrorをキャッチします。特定のパターン:
- コマンドが「Timeout」で失敗した場合、指数バックオフで最大3回再試行します:
openclaw game-networking send --retry 3。 - APIエラーの場合、HTTPステータスコードを確認します(例:401は認証されていないことを示します。
$GAME_NETWORKING_API_KEYの入力を促して対応します)。 - コードでは、次のように例外を処理します:
try: response = openclaw.game_networking.listen(timeout=5) except openclaw.NetworkTimeoutError as e: print(f"Timeout occurred: {e}. Retrying...") # Implement retry logic hereタイムスタンプ付きでエラーをログに記録し、コマンドにデバッグフラグを含めます。例えば、
openclaw game-networking init --debugは詳細なトレースを出力します。
使用例
-
マルチプレイヤーロビーのセットアップ: これを使用して、プレイヤー接続用のシンプルなサーバーを作成します。まず、
openclaw game-networking init --protocol tcp --port 8080 --key $GAME_NETWORKING_API_KEYを実行します。次に、ゲームコードでクライアントを次のように接続します: ```python import openclaw session = openclaw.game_networking.connect(host='localhost', port=8080) session.send({'action': 'join_lobby', 'player_name': 'User1'}) -
リアルタイムゲームでのプレイヤー位置の同期:
openclaw game-networking init --protocol udpで初期化します。ゲームループで更新を送信します: ```python while game_running: pos = get_player_position() openclaw.game_networking.send(session, {'player_pos': pos}) incoming = openclaw.game_networking.receive() if incoming: update_game_state(incoming)
グラフ関係
- 依存関係: 認証(安全な接続のため)、game-physics(同期されたシミュレーションのため)
- 関連スキル: game-ai(インテリジェントなネットワーク動作のため)、data-storage(ゲーム状態の永続化のため)などのgame-devクラスターのスキル
- 競合: 直接的な競合はありません。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
game-networking
Purpose
This skill allows the AI to implement multiplayer game networking, managing protocols (e.g., UDP, TCP), minimizing latency, and ensuring game state synchronization for seamless player interactions.
When to Use
Use this skill when building multiplayer games that require real-time communication, such as online shooters, MMOs, or cooperative adventures. Apply it for scenarios involving player synchronization, server-client architectures, or handling network interruptions in game loops.
Key Capabilities
- Handles UDP for low-latency, unreliable data transmission and TCP for reliable, ordered delivery.
- Implements latency compensation via interpolation and prediction algorithms to smooth gameplay.
- Synchronizes game states using techniques like delta encoding and authoritative servers.
- Supports NAT traversal and peer-to-peer connections for reduced server dependency.
- Manages bandwidth optimization through packet compression and prioritization.
Usage Patterns
To use this skill, first initialize a network context, then establish connections, send/receive data, and handle disconnections. Always wrap network operations in try-catch blocks for robustness. For example, in a game loop, check for incoming packets every frame and update game state accordingly. Use asynchronous patterns to avoid blocking the main thread. If authentication is needed, set the environment variable $GAME_NETWORKING_API_KEY before invoking commands.
Common Commands/API
Interact via OpenClaw CLI or REST API. CLI commands require the skill to be activated first with openclaw activate game-networking.
-
CLI Commands:
- Initialize a network session:
openclaw game-networking init --protocol udp --port 5000 --key $GAME_NETWORKING_API_KEY- Example: Sets up a UDP server on port 5000, requiring an API key.
- Send a packet:
openclaw game-networking send --host 192.168.1.1 --data '{"player_pos": [10, 20]}'- Flags:
--hostfor target IP,--datafor JSON payload.
- Flags:
- Receive packets:
openclaw game-networking listen --timeout 5- Listens for incoming data with a 5-second timeout.
- Initialize a network session:
-
API Endpoints:
- POST /api/network/connect: Establishes a connection; body:
{"protocol": "udp", "host": "localhost", "port": 5000}- Requires header:
Authorization: Bearer $GAME_NETWORKING_API_KEY
- Requires header:
- GET /api/network/status: Retrieves current latency and connection stats; query param:
?sessionID=123 - PUT /api/network/sync: Sends game state updates; body:
{"state": {"players": [{"id": 1, "pos": [5, 10]}]}}
- POST /api/network/connect: Establishes a connection; body:
-
Code Snippets:
- Initialize and connect in Python:
import openclaw api_key = os.environ.get('GAME_NETWORKING_API_KEY') session = openclaw.game_networking.init(protocol='udp', port=5000, key=api_key) session.connect(host='192.168.1.1') - Send data:
data = {'player_pos': [10, 20]} openclaw.game_networking.send(session, data)
- Initialize and connect in Python:
-
Config Formats:
- Use JSON for configurations, e.g.:
{ "protocol": "tcp", "maxLatency": 100, "syncInterval": 50 }- Save as
network-config.jsonand pass via CLI:openclaw game-networking init --config network-config.json
- Save as
- Use JSON for configurations, e.g.:
Integration Notes
Integrate this skill into game engines like Unity or Godot by importing the OpenClaw SDK and calling functions from your scripts. For Unity, add the OpenClaw package via NuGet and reference it in C# scripts. Always verify dependencies: ensure the skill is compatible with your game's architecture (e.g., client-server vs. P2P). If using with other OpenClaw skills, chain them; for example, use game-auth first to handle user logins, then pass the token to network commands via $GAME_NETWORKING_API_KEY. Test integrations in a simulated environment to handle firewall issues.
Error Handling
Anticipate common errors like connection timeouts, packet loss, or invalid API keys. Use try-except blocks for CLI/API calls; for example, catch NetworkError for failed connections. Specific patterns:
- If a command fails with "Timeout", retry up to 3 times with exponential backoff:
openclaw game-networking send --retry 3. - For API errors, check HTTP status codes (e.g., 401 for unauthorized; respond by prompting for
$GAME_NETWORKING_API_KEY). - In code, handle exceptions like this:
try: response = openclaw.game_networking.listen(timeout=5) except openclaw.NetworkTimeoutError as e: print(f"Timeout occurred: {e}. Retrying...") # Implement retry logic hereLog errors with timestamps and include debug flags in commands, e.g.,
openclaw game-networking init --debugto output detailed traces.
Usage Examples
-
Set up a multiplayer lobby: Use this to create a simple server for player connections. First, run
openclaw game-networking init --protocol tcp --port 8080 --key $GAME_NETWORKING_API_KEY. Then, in your game code, connect clients with: ```python import openclaw session = openclaw.game_networking.connect(host='localhost', port=8080) session.send({'action': 'join_lobby', 'player_name': 'User1'}) -
Synchronize player positions in a real-time game: Initialize with
openclaw game-networking init --protocol udp. In the game loop, send updates: ```python while game_running: pos = get_player_position() openclaw.game_networking.send(session, {'player_pos': pos}) incoming = openclaw.game_networking.receive() if incoming: update_game_state(incoming)
Graph Relationships
- Depends on: authentication (for secure connections), game-physics (for synchronized simulations)
- Related to: game-dev cluster skills like game-ai (for intelligent network behaviors), data-storage (for persisting game states)
- Conflicts with: none directly, but avoid overlapping with low-level socket implementations