Core
Last updated on
The opx_infinity API that no single module owns — the OPX.* runtime, its configuration, runtime events, the lib/ helpers and the shared error codes.
Module APIs (contracts, commands, events, settings) are on each module page. Everything here is reachable only from code running inside opx_infinity (opx_infinity publishes no Open77 exports besides the creator exports); opx_lib is the one library any client resource can require.
| Page | What is on it | Side |
|---|---|---|
| Shared | OPX.Modules, OPX.Api, OPX.Event, OPX.Now, OPX.Scheduler, OPX.Export, runtime values, boot order | both |
| Server | OPX.Publish, OPX.Command and aliases, answers and refusals, the readiness gate, sessions, buckets, tunables, schema | server |
| Client | OPX.UI, OPX.Toast, OPX.Note, OPX.Lib, the client scheduler loop | client |
| Configuration | config/shared.lua, config/server.lua, config/client.lua, command aliases | both |
| Events | the core's own net events, host event names, the core page channels | both |
| Shared library (lib/) | OPX.Result, OPX.Text, OPX.Math, OPX.JobGate, OPX.Spots, OPX.Hooks, OPX.Locale, OPX.Storage, OPX.Audit, OPX.Surface… | both / server / client |
| Error codes | the shared refusal codes and the Result convention | both |
Reading the API pages
- Side —
server,clientorboth. A server-only function isnilon the client, and the other way round. - Parameters — in call order;
name?is optional. - Returns —
Resultmeans{ ok = true, value = … }or{ ok = false, error = code, detail = … }(Result convention).ok, codemeans two values. - Yields — the call waits (database, network): call it from a thread.
Permissions
Open77 has two permission systems — manifest permissions that let a resource call natives, and ACL rights that let a player run a command — and opx_infinity uses both.
Shared
The OPX.* runtime on both sides — module registry and lifecycle, contracts, event names, time, the scheduler, runtime values and the boot order.