# game-net **Repository Path**: gengfanbin/game-net ## Basic Information - **Project Name**: game-net - **Description**: godot4.4 + rust + protobuf - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-22 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # game_frame Godot 4.4 client + Rust server multiplayer demo. ## What You Get - Client: `client/` (Lobby -> Create/Join room -> in-room movement sync) - Server: `server/` (WebSocket gateway + multi logic servers, Protobuf messages, Redis PubSub for horizontal scale) - Protobuf schemas: `proto/` ## Quick Start 1) Start Redis ```powershell docker compose -f server/compose.yaml up -d ``` 2) Run server (2 terminals) ```powershell $env:REDIS_URL="redis://127.0.0.1:6379/"; $env:LOGIC_ID="logic1"; cargo run --manifest-path server/Cargo.toml -p gameframe-logic ``` ```powershell $env:REDIS_URL="redis://127.0.0.1:6379/"; $env:GATEWAY_ID="gw1"; $env:GATEWAY_BIND="127.0.0.1:8080"; $env:LOGIC_IDS="logic1"; cargo run --manifest-path server/Cargo.toml -p gameframe-gateway ``` 3) Run client - Open `client/project.godot` in Godot 4.4 - Press Play ## Scale Out (Multiple Logic Servers) Start multiple logic servers with different `LOGIC_ID`: ```powershell $env:REDIS_URL="redis://127.0.0.1/"; $env:LOGIC_ID="logic2"; cargo run --manifest-path server/Cargo.toml -p gameframe-logic ``` Then set gateway `LOGIC_IDS`: ```powershell $env:LOGIC_IDS="logic1,logic2" ```