feat(multiplayer): add Steam transport foundation

This commit is contained in:
Josh Creek
2026-08-21 18:52:07 +01:00
parent f2b72394de
commit 6bafdc7794
16 changed files with 402 additions and 31 deletions
+20
View File
@@ -0,0 +1,20 @@
extends Node
# This is intentionally separate from the stock test suite: it is run only
# by scripts/verify_steam_templates.sh, where failing to supply a custom Steam
# executable is a setup failure rather than a regression in the ENet build.
func _ready() -> void:
var failures: Array[String] = []
if not OS.has_feature("steam"):
failures.append("custom export is missing the steam feature")
if not ClassDB.class_exists("SteamMultiplayerPeer"):
failures.append("SteamMultiplayerPeer is missing")
if not Engine.has_singleton("Steam") and not Engine.has_singleton("SteamServer"):
failures.append("neither Steam nor SteamServer singleton is available")
if failures.is_empty():
print("STEAM TEMPLATE SMOKE PASS")
get_tree().quit(0)
return
for failure in failures:
printerr("STEAM TEMPLATE SMOKE FAIL: %s" % failure)
get_tree().quit(1)