Skip to main content

XGENIA RGS

XGENIA can run your game's maths on a remote game server (RGS) instead of in the player's browser. The Maths RGS panel in the editor's left sidebar is where that happens.

The idea is a clean split:

  • The frontend โ€” reels, buttons, animation โ€” stays an ordinary XGENIA project, published to Vercel.
  • The maths โ€” RNG, paytable, win calculation โ€” is authored as components in the editor and deployed to the platform as backend functions. The published game calls them over HTTP.

This is what makes a game auditable: the player's browser never holds the code that decides the outcome, and the platform records every round the backend serves.

XGENIA editorone project: the UI and the mathsXGENIA RGS platformruns your maths at/rgs-fn/<game>/<component>records every round โ†’ Bet HistoryVercelhosts the published frontendDeploy โ€” maths componentsPublish โ€” the frontendevery bet, over HTTPS

Players load the game from Vercel; the maths they can never see runs on the platform.

note

Everything in this section needs an operator API key. If you only build UI, you never need this panel โ€” a project with no deployed components runs entirely in the browser, as XGENIA projects always have.

Watch the whole workflowโ€‹

This five-minute screen recording follows a single component โ€” a Multiplication function for a small calculator game โ€” from an empty local component to a live REST call on the published site. It has no narration; the table underneath is the commentary.

The recording picks up with an operator key already connected and a game already selected. Connecting and Games below cover that first.

TimeStepWhat happens
0:00Create a local component โ€” Local tab+ on Local Components adds Multiplication. It is an ordinary component: it lives only in this project until it is deployed.
0:30Give it ports and mathsThe component gets a Do signal plus First Number and Second Number inputs, a Multiplication node wired between Component Inputs and Component Outputs, and Result and Success outputs.
1:10Test it locallyThe component is dropped onto the Start Page and wired to the two text inputs and the Calculate button. The preview answers 3 ร— 4 = 12 โ€” computed in the browser.
1:55Preview the change โ€” Changed tabReads 1 change vs the deployed version ยท preview only, listing + Multiplication. This is the diff you are about to send, and nothing here touches the server.
2:13Deploy itDeploy 1 change uploads Multiplication project.json into server version v1 ยท simple-adder. The banner settles on โœ“ v1 ยท 1 component deployed.
2:25Read the commit โ€” Commits tabThe deploy is recorded as a commit: Deploy multiplication component, its short id, who deployed it and which components it touched. Earlier deploys stay listed below it.
2:31See what is live โ€” Deployed tabNow 2 live components ยท v1 ยท simple-adder ยท read-only. Opening one shows the exact graph the server is running. It cannot be edited from here.
2:45Test the deployed componentThe local node is swapped for the deployed one, dragged in from Deployed as an Aggregation Node. The preview answers 12 again โ€” but this time the answer came back over HTTPS from the platform.
3:45Publish the frontend โ€” Publish buttonPublish โ†’ XGENIA deploys the project to Vercel, here at test-simplest-calculator.vercel.app. The panel names the backend game the maths calls will be sent to.
4:40Confirm on the live domainOn the published site, Calculate with 3 and 5. The browser's Network panel shows a single POST to the component's endpoint returning 200 and a JSON body of Result: 15.

The two tests โ€” at 1:10 and 2:45 โ€” are the point of the whole exercise: the same graph, the same answer, first from the browser and then from the server. Everything between them is the deploy.

The piecesโ€‹

TermMeaning
OperatorThe owner of games on the platform. Identified by an API key (xrgs_โ€ฆ).
GameA game registered on the platform, with a name, slug and mode. Maths components are deployed into a game.
Server VersionA numbered container of deployed functions for one game (v1, v2, โ€ฆ).
Maths ComponentA component under the editor's maths sheet. Deploying it turns it into an HTTP endpoint.
Maths VersionA separate, test-only track used by the Test button. Never what players hit.

Connectingโ€‹

Open Maths RGS. The card at the top shows whether you are connected.

The top of the Maths RGS panel: connection card, selected game, server versions

Connected. The card names the operator, its mode and wallet; below it the selected game with its reel size, RTP and volatility, the game's server versions, and the Test button.

  • Have a key? Paste it (it starts with xrgs_) and press Connect to XGENIA RGS.
  • Need one? Press Create operator & get key and fill the form:
FieldNotes
Operator NameDisplay name, e.g. Acme Casino.
SlugURL-safe identifier, e.g. acme-casino.
ModeDemo โ€” play money. Live โ€” real money.
Wallet BalanceStarting balance, in the first supported currency.
Supported CurrenciesComma-separated, e.g. EUR, USD, GBP.
Max Bet / Max Win (cents)Limits in minor units (100 = 1.00).
IP WhitelistOptional.
caution

The key is shown once, when the operator is created. Copy it and store it safely.

Once connected, the card shows the operator's name, mode and remaining wallet balance. Disconnect removes the stored key from this machine.

Gamesโ€‹

With a key connected, the panel lists that operator's games.

  • + New game โ€” name, slug, description and mode.
  • โ†ป โ€” refresh the list.
  • Select a game to make it the target for everything below: Server Versions, deploys, and Publish.
  • The trash icon deletes a game from the platform. The confirmation dialog spells out what is deleted with it โ€” and what blocks the delete.

Game modesโ€‹

A game's mode is about money, not readiness:

ModeMeaning
DemoPlay money โ€” nothing real at stake.
LiveReal money.

The operator's own mode is the ceiling: a demo key can only create demo games. Live and internal keys can create either. The backend enforces this โ€” it is not just the dropdown.

Where to go nextโ€‹