Skip to content

Commit 0573194

Browse files
committed
chore: zomboid smart deployment
1 parent cf2556f commit 0573194

6 files changed

Lines changed: 37 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ jobs:
124124
druid registry push ./scrolls/lgsm/sdtdserver -p main=26900/udp -p main2=26902/udp -p maintcp=26900 -i artifacts.druid.gg/druid-team/druidd-lgsm:sdtd -m --min-disk 20Gi --min-ram 2Gi --min-cpu 0.5
125125
druid registry push ./scrolls/lgsm/gmodserver -p query=27005/udp -p main=/udp -p sourcetv=27020/udp -p steam=27015 -i artifacts.druid.gg/druid-team/druidd-lgsm:gmod -m --min-disk 8Gi --min-ram 512Mi --min-cpu 0.25 --smart
126126
druid registry push ./scrolls/lgsm/cs2server -p main=/udp -p rcon=27015 -i artifacts.druid.gg/druid-team/druidd-lgsm:cs2 -m --min-disk 38Gi --min-ram 1Gi --min-cpu 0.5 --smart
127-
druid registry push ./scrolls/lgsm/pzserver -p main=/udp -p main2=/udp -i artifacts.druid.gg/druid-team/druidd-lgsm:pz -m --min-disk 3Gi --min-ram 512Mi --min-cpu 0.25
127+
druid registry push ./scrolls/lgsm/pzserver -p main=/udp -p main2=/udp -i artifacts.druid.gg/druid-team/druidd-lgsm:pz -m --min-disk 3Gi --min-ram 512Mi --min-cpu 0.25 --smart
128128
129129
druid registry push ./scrolls/lgsm/terrariaserver -p todo=8211/udp -i artifacts.druid.gg/druid-team/druidd-lgsm:terraria -m
130130
druid registry push ./scrolls/lgsm/csgoserver -p query=27005/udp -p main=27015/udp -p sourcetv=27020/udp -p steam=27015 -i artifacts.druid.gg/druid-team/druidd-lgsm:csgo -m --smart

scrolls/lgsm/.build/scroll.yaml.tmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ ports:
3939
- name: StartOnUnknownPacket
4040
value: "{{ .Vars.lua_query_start_on_unknown_packet }}"
4141
{{- end }}
42+
{{- if .Vars.lua_steam_app_id }}
43+
- name: SteamAppId
44+
value: "{{ .Vars.lua_steam_app_id }}"
45+
{{- end }}
4246
{{- end }}
4347
{{- if .Vars.main_port_protocol }}
4448
- name: main

scrolls/lgsm/.build/vars.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
"lua_query_map": "server idle",
8282
"lua_query_servername": "Druid Gameserver (idle) - Start server by joining",
8383
"lua_query_port": "main",
84-
"lua_query_start_on_unknown_packet": "yes"
84+
"lua_query_start_on_unknown_packet": "yes",
85+
"lua_steam_app_id": "108600"
8586
}
8687
}

scrolls/lgsm/.build/versions/pzserver/packet_handler/query.lua

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,14 @@ function handle(ctx, data)
137137
versionPrefix = get_var("GameVersionPrefix")
138138
serverPort = get_port("main")
139139

140+
141+
edfGameIdStr = get_var("SteamAppId")
142+
edfGameId = nil
143+
if edfGameIdStr ~= nil then
144+
edfGameId = tonumber(edfGameIdStr)
145+
end
146+
147+
140148
-- EDF & 0x80: Port
141149
-- EDF & 0x10: SteamID
142150
-- EDF & 0x20 Keywords
@@ -149,7 +157,6 @@ function handle(ctx, data)
149157
edfKeywords = get_var("GameKeywords") or ",OWNINGID:90202064633057281,OWNINGNAME:90202064633057281,NUMOPENPUBCONN:50,P2PADDR:90202064633057281,P2PPORT:" ..
150158
serverPort .. ",LEGACY_i:0"
151159

152-
edfGameId = "a00f000000000000"
153160

154161
serverinfopacket = ServeInfoPacket:new()
155162
serverinfopacket.name = name
@@ -226,6 +233,10 @@ function Packet:appendByte(data)
226233
self.bytes = self.bytes .. string.char(data)
227234
end
228235

236+
function Packet:appendRawBytes(data)
237+
self.bytes = self.bytes .. data
238+
end
239+
229240
function Packet:appendShort(num)
230241
self.bytes = self.bytes .. string.fromhex(number_to_little_endian_short(num))
231242
end
@@ -318,7 +329,8 @@ function ServeInfoPacket:GetRawPacket()
318329
p:appendString(self.edfKeywords)
319330
end
320331
if self.edfGameId ~= nil then
321-
p:appendHex(self.edfGameId)
332+
local bytes = string.pack("<i8", self.edfGameId)
333+
p:appendRawBytes(bytes)
322334
end
323335

324336

scrolls/lgsm/pzserver/packet_handler/query.lua

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,14 @@ function handle(ctx, data)
137137
versionPrefix = get_var("GameVersionPrefix")
138138
serverPort = get_port("main")
139139

140+
141+
edfGameIdStr = get_var("SteamAppId")
142+
edfGameId = nil
143+
if edfGameIdStr ~= nil then
144+
edfGameId = tonumber(edfGameIdStr)
145+
end
146+
147+
140148
-- EDF & 0x80: Port
141149
-- EDF & 0x10: SteamID
142150
-- EDF & 0x20 Keywords
@@ -149,7 +157,6 @@ function handle(ctx, data)
149157
edfKeywords = get_var("GameKeywords") or ",OWNINGID:90202064633057281,OWNINGNAME:90202064633057281,NUMOPENPUBCONN:50,P2PADDR:90202064633057281,P2PPORT:" ..
150158
serverPort .. ",LEGACY_i:0"
151159

152-
edfGameId = "a00f000000000000"
153160

154161
serverinfopacket = ServeInfoPacket:new()
155162
serverinfopacket.name = name
@@ -226,6 +233,10 @@ function Packet:appendByte(data)
226233
self.bytes = self.bytes .. string.char(data)
227234
end
228235

236+
function Packet:appendRawBytes(data)
237+
self.bytes = self.bytes .. data
238+
end
239+
229240
function Packet:appendShort(num)
230241
self.bytes = self.bytes .. string.fromhex(number_to_little_endian_short(num))
231242
end
@@ -318,7 +329,8 @@ function ServeInfoPacket:GetRawPacket()
318329
p:appendString(self.edfKeywords)
319330
end
320331
if self.edfGameId ~= nil then
321-
p:appendHex(self.edfGameId)
332+
local bytes = string.pack("<i8", self.edfGameId)
333+
p:appendRawBytes(bytes)
322334
end
323335

324336

scrolls/lgsm/pzserver/scroll.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ ports:
2323
value: "Druid Gameserver (idle) - Start server by joining"
2424
- name: StartOnUnknownPacket
2525
value: "yes"
26+
- name: SteamAppId
27+
value: "108600"
2628
init: "console"
2729
commands:
2830
console:

0 commit comments

Comments
 (0)