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/name="Tactical Shooter"
|
||||||
config/description="Phase 0 — Headless Dedicated Server"
|
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")
|
config/features=PackedStringArray("4.7", "Forward Plus")
|
||||||
|
|
||||||
[autoload]
|
[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