Files
shawn 5b93c514c7 Phase 8: Headless dedicated server + RCON admin + netfox bootstrap
## Headless Server
- New entry point: scenes/headless_server.tscn + scripts/headless_server.gd
- Loads multiplayer-fps game, strips UI/rendering, auto-hosts ENet server
- Port config via --port arg, SERVER_PORT env, or default 34197
- RCON admin console on port 28960 (configurable via --rcon-port)

## Netfox Headless Bootstrap
- scripts/netfox_headless_bootstrap.gd — preloads all netfox dependency
  scripts in headless mode so class_names register before autoloads parse
- Registered as first autoload in project.godot
- Fixes 'Could not find type' errors for NetfoxLogger, NorayProtocolHandler,
  NetworkClocks, etc.

## RCON Admin
- Ported from old project: scripts/rcon/rcon_server.gd (TCP auth layer)
- scripts/rcon/rcon_command_handler.gd (command dispatch)
- Password via config/rcon_password.cfg, --rcon-password, or RCON_PASSWORD env

## Other Changes
- Added GameEvents stub (lan-bootstrapper dependency)
- Updated project.godot features to 4.7
- Added config/server_config.cfg for operator editing
- Updated RCON paths to new project structure
2026-07-02 21:49:49 -04:00

48 lines
762 B
INI

; Tactical Shooter — Default Server Configuration
; Copy to user://server_config.cfg or config/server_config.cfg and edit.
[server]
server_name="Tactical Shooter Server"
description=""
bind_ip="0.0.0.0"
port=34197
max_players=16
password=""
tick_rate=64
[game]
round_time_seconds=600
warmup_time_seconds=60
friendly_fire=false
ff_damage_multiplier=0.5
gravity=-24.0
respawn_time_seconds=5.0
spectate_enabled=true
[movement]
walk_speed=5.0
sprint_speed=7.0
crouch_speed=2.0
jump_velocity=6.0
acceleration=20.0
air_acceleration=4.0
friction=8.0
[match]
win_limit=3
time_limit_seconds=0
map_rotation_mode="sequence"
maps="test_range"
[rcon]
enabled=false
password=""
port=28960
[logging]
log_level="info"
log_file=""
[teams]
team_count=2
players_per_team=8