Unify marker sync protocol: remove SetMarkerDefSync, use SF/SD messages

SetMarkerDefSync checked canSetMarkers() on the local player, which
blocked non-leaders from receiving sync data. Now SF messages use the
same SetMarkerDef (senderHasPermission) check as P messages.

Protocol change: sync responder sends SF: for each marker then SD to
signal completion. Requester enters sync mode with a 5s fallback timer,
locks to first SF sender, and exits on SD. Non-syncing clients ignore
SF/SD. Consolidated login delay and sync timeout into one timer frame.
This commit is contained in:
MarcelineVQ
2026-03-03 18:52:28 -08:00
parent 11851c4ece
commit 38e5872591
3 changed files with 83 additions and 109 deletions
-1
View File
@@ -117,7 +117,6 @@ fn registerLuaFunctions() void {
// Internal functions in WorldMarkers table (via luaL_openlib)
const lib = [_]lua.LuaReg{
.{ .name = "SetMarkerDef", .func = @intFromPtr(&markers.luaSetMarkerDef) },
.{ .name = "SetMarkerDefSync", .func = @intFromPtr(&markers.luaSetMarkerDefSync) },
.{ .name = "ClearMarkerDef", .func = @intFromPtr(&markers.luaClearMarkerDef) },
.{ .name = "GetMarkerDef", .func = @intFromPtr(&markers.luaGetMarkerDef) },