Systems Overview
Architecture, config overview, ceremony flow, roles, and Forever Rings integration
Architecture
Key files:
shared/config.luahandles venues, roles, rings, bar settings, after-party timing, tutorial reminders, and Forever Rings loading.shared/lang.luaholds the localized text.server/server_open.luaandserver/webhook.luaare the main open server hooks.client/client_open.luaholds the proposal animation hook and shared prop helpers.client/music.luahandles the DJ playlist and audio flow.escrow server and client files run proposals, check-ins, ceremony flow, and item handling.
Items
Main items:
proposal_ringengagement_ringwedding_ringwedding_guestbookdivorce_papers
Config.RemoveDivorcePapersAfterUse controls whether divorce papers are removed after use.
Config overview
Important values:
Config.TestModeConfig.DebugConfig.EnviForeverRingsConfig.PlayProposalAnimationConfig.StartCeremonyCommandConfig.RingsConfig.WeddingLocationsConfig.RolesConfig.OpenBarConfig.AfterPartyTimeConfig.TutorialNotify
Roles and flow
Typical order:
proposal
engagement
planner assigns the ceremony roles
couple checks in at the guest book
staged altar and bridal entry flow
minister starts the ceremony command
ceremony finishes, rings are awarded, and the after-party starts
Common roles include:
bride
groom
minister
best man
maid of honor
planner
DJ
guest
Config.TutorialNotify helps guide each stage.
Commands
The packaged role-set commands include:
setBridesetGroomsetMinistersetBestMansetMaidOfHonorsetGuestsetPlannersetDJ
The minister starts the vows with Config.StartCeremonyCommand.
There is also an emergency stop path.
Forever Rings
If Config.EnviForeverRings is enabled and the resource is started first, the script pulls engagement ring config from Forever Rings at runtime.
Wedding bands still use the wedding config unless you extend that logic yourself.
Open files
Main open edit points:
client/client_open.luaserver/server_open.luaserver/webhook.lua
Last updated