ug-appearance checks every request at three levels: the page bridge in Lua, the ug-core callback, and the server rule.
What is checked
Every callback has a schema and a rate limit through ug-core. The page bridge also refuses more than 30 page events per second.
What the page gets
- The store kind, its categories, the saved appearance and what the game offers for the ped.
- The bill as lines and a total, computed by Lua with the same code the server charges with.
- Never prices, store coordinates or other players’ data.
What it never does
- Trust a price, a total, a category or a store from the page.
- Save an appearance without an open session on the server.
- Let a store change the model. Only the creator and the admin editor do.
- Leave cameras, lights, clock changes or a frozen player behind when the editor closes, the resource stops or an error happens.