fix: add smart entry scene (client vs server via headless detection)
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@ config_version=5
|
||||
|
||||
config/name="Tactical Shooter"
|
||||
config/description="Phase 0 — Headless Dedicated Server"
|
||||
run/main_scene="res://scenes/server/server_main.tscn"
|
||||
run/main_scene="res://scenes/entry.tscn"
|
||||
config/features=PackedStringArray("4.7", "Forward Plus")
|
||||
|
||||
[autoload]
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/entry.gd" id="1"]
|
||||
|
||||
[node name="Entry" type="Node"]
|
||||
script = ExtResource("1")
|
||||
@@ -0,0 +1,18 @@
|
||||
## Entry — Smart entry point.
|
||||
## Loads the server scene if running headless (dedicated server),
|
||||
## or the client scene if running with a display (Windows client).
|
||||
extends Node
|
||||
|
||||
func _ready() -> void:
|
||||
var is_headless := DisplayServer.get_name() == "headless"
|
||||
|
||||
if is_headless:
|
||||
# Dedicated server mode
|
||||
var server_scene = preload("res://scenes/server/server_main.tscn")
|
||||
add_child(server_scene.instantiate())
|
||||
print("[Entry] Starting in SERVER mode (headless)")
|
||||
else:
|
||||
# Client mode (Windows, etc.)
|
||||
var client_scene = preload("res://scenes/client/client_main.tscn")
|
||||
add_child(client_scene.instantiate())
|
||||
print("[Entry] Starting in CLIENT mode (display available)")
|
||||
Reference in New Issue
Block a user