84b36000447553fb347b0bb881b0511d0a0e5f66
* Centralize ball state generation in `BaseMode` * Track turn count, player, and ball state consistently * Prevent 8-ball, 9-ball, and colored snooker balls from being marked valid when reaped/sunk * Update mode initialization and ball-state assignment * Normalize Free Ball mode node name to `freeball`
Running the Lobby Server
Note: The lobby server looks for a local script named
game.sh.
From the Editor
Debug → Customize Run Instance
--name_billiards server game_port_range 5000:5010
From the Command Line
./lobby_server.sh --name_billiards server game_port_range 5000:5010
Connecting Clients
From the Editor
Debug → Customize Run Instance
Host a game:
--client host_snooker bobs_game
Join a game:
--client join bobs_game
From the Command Line
Connect Directly to a Game Server
Start a server:
./billiards.sh --server_5001 game snooker
Join the server:
./billiards.sh --join_server 127.0.0.1 5001
Connect Through the Lobby Server
Host a game:
./billiards.sh --client host_snooker bobs_game
Join a game:
./billiards.sh --client join bobs_game
Description
Languages
GDScript
100%