feat: validate allocated server compatibility

This commit is contained in:
Josh Creek
2026-08-31 20:13:48 +01:00
parent d864ce2475
commit 4264a2bbd3
+10 -1
View File
@@ -263,7 +263,7 @@ func _validate() -> void:
if String(values[key]).is_empty():
errors.append("--allocated-mode requires --%s" % key)
var digest := String(values["server-image-digest"])
if not digest.begins_with("sha256:") or digest.length() != 71:
if not _is_sha256_digest(digest):
errors.append("--server-image-digest must be sha256:<64 hex characters>")
var transport := String(values["transport"])
if not transport in ["steam_sdr", "enet"]:
@@ -273,6 +273,15 @@ func _validate() -> void:
errors.append("--region must be EU or NA, got '%s'" % region)
static func _is_sha256_digest(value: String) -> bool:
if not value.begins_with("sha256:") or value.length() != 71:
return false
for c in value.substr(7):
if not c.to_lower() in "0123456789abcdef":
return false
return true
static func _kind_name(kind: int) -> String:
match kind:
Kind.BOOL: return "bool"