t_p1_round: Add round/match lifecycle system (RoundManager)
- New server/scripts/round/round_manager.gd with: - RoundPhase enum (WARMUP, PREP, LIVE, POST) - Round life cycle: warmup -> prep (15s) -> live (105s) -> post (8s) - Team elimination detection using entity->peer->team mappings - Time-expired round ending (default: CT wins) - Economy hooks: win money (250), loss money (900 escalating to 900), kill bonus (00) - All requested signals: round_phase_changed, round_started, round_ended, match_point, warmup_ended, round_economy_data - Updated GameServer: - Creates and wires RoundManager in _ready() - Connects DamageProcessor.player_killed -> round tracking + elimination detection - Added peer_to_entity mapping for backwards entity lookup - Added RCON command handler (_on_rcon_command) for start_match/end_round - Updated RCON command handler: - Added start_match and end_round to dispatch list and help text
This commit is contained in:
@@ -57,7 +57,7 @@ func handle_command(cmd: String, args: PackedStringArray) -> String:
|
||||
return _cmd_cvar_set(args)
|
||||
"plugin":
|
||||
return _cmd_plugin(args)
|
||||
"say", "msg", "players", "changelevel", "kick", "ban", "unban", "exec":
|
||||
"say", "msg", "players", "changelevel", "kick", "ban", "unban", "exec", "start_match", "end_round":
|
||||
return _cmd_dispatch(cmd, args)
|
||||
_:
|
||||
return "Unknown command: '" + cmd + "'. Type 'help' for available commands.\\r\\n"
|
||||
@@ -75,6 +75,8 @@ func _cmd_help(_args: PackedStringArray) -> String:
|
||||
" say <message> Broadcast chat to all players",
|
||||
" msg <player> <message> Send private message",
|
||||
" changelevel <map_name> Load a new map",
|
||||
" start_match Start the match (exit warmup)",
|
||||
" end_round <team> [reason] Force-end the current round",
|
||||
" kick <player> [reason] Remove a player",
|
||||
" ban <player> [duration] Ban a player from the server",
|
||||
" unban <player_or_steamid> Remove a ban",
|
||||
|
||||
Reference in New Issue
Block a user