메시지
움직임은 엔진이 나릅니다. 그 밖의 것 — 채팅, 상점, 문을 열었다는 사실 — 은 메시지입니다.
-- 서버
Chain2D.Network.on("buy", function(player, payload)
-- payload 는 클라이언트가 보낸 표입니다. 믿지 마세요.
Chain2D.Network.send(player, "bought", { item = payload.item })
end)
Chain2D.Network.broadcast("bell", { at = os.time() })
-- 클라이언트
Chain2D.Network.send("buy", { item = "rope" })
Chain2D.Network.on("bought", function(payload)
print(payload.item)
end)
이름
이름은 창작자의 것입니다. 다만 엔진이 쓰는 이름과 부딪히면 거부됩니다 — 양쪽 모두에서, 같은 규칙으로. 조용히 덮어쓰는 대신 그 자리에서 오류가 납니다.
payload
JSON 으로 갑니다. 표, 숫자, 글자, 참/거짓이 오갑니다. 함수나 순환 참조는 보낼 수 없습니다.
클라이언트가 보낸 것은 사실이 아니라 주장입니다. payload.gold = 999999 는
클라이언트가 얼마든지 쓸 수 있는 값입니다. 무엇이 진짜인지는 서버가 자기 데이터를
읽어서 정합니다.