HOST SETUP
Connecting your cabinet’s game to this site.
You only need this once, when you first set your cabinet up — and again if you ever regenerate your key. Everything here happens on your machine; nothing needs installing on the website.
What you need first
- Your host login for this site (an owner creates it and gives it to you).
- The game folder, containing
website_sync.pyandsync_config.ini.examplealongside the game itself. - Python installed, if you are running the game from source.
1. Get your cabinet key
Log in at Host Login, open your cabinet from the Dashboard, and find the Game Connection panel. Press Generate Key.
The key is shown once. Copy it before you leave the page — only a hashed copy is kept, so nobody, including the arcade owner, can read it back to you later. Lost it? Generate a new one; the old one stops working the moment you do.
2. Create sync_config.ini
In your game folder, copy sync_config.ini.example to
sync_config.ini and paste in the two values from that panel:
[website]
url = https://funfoundgames.com/admin/api_sync_player.php
key = your-key-goes-here
That is the whole configuration. The game works out the other endpoints it needs from that one URL, so there is nothing else to fill in — and you never edit the game’s own source to set this up.
3. Relaunch the game
Fully close the game and start it again — the config is only read at startup, so a running game will not pick it up. On startup the console prints one line telling you whether sync is on:
Website sync: ON -> https://funfoundgames.com/admin/api_sync_player.php (key ab12...ef90)
If it says OFF, the game did not find a url — check the
file is named sync_config.ini (not .ini.example, and not
.ini.txt, which Windows will do if file extensions are hidden) and that it
sits in the same folder as website_sync.py.
4. Check the connection
From the game folder, run the sync component directly. It does not start the game — it reads your config, shows which endpoints it will use, and asks the site whether your key is accepted:
python website_sync.py
A good result ends with OK - the site accepted your key. If it says
REJECTED, the key was regenerated on the site after your config was
written — get a fresh one. If it says sync is OFF, it could not find
a url, so re-check the filename and location from step 2.
The check is safe to run at any time, including mid-stream: it changes nothing on the site and cannot disturb a running game.
5. Check it landed
Back on the site, your cabinet’s Game Connection panel should now
show a recent “Last used” time, and your
My Account page lists the same thing
for every cabinet you host. If it still says “Key issued, never used”,
the game has not reached the site: check that you relaunched it, and look at its console
for Claim actions poll failed.
What your key can and cannot do
- It identifies your cabinet only. Player records, dock state and queued actions are all scoped to it — it cannot read or change another host’s cabinet.
- Treat it like a password. Anyone holding it can post player data and dock state as your cabinet.
- If it leaks, or you are not sure, regenerate it. That is a two-click job and costs you one relaunch.
Running the game offline
Leave url blank, or delete sync_config.ini entirely, and the
game runs completely normally with no connection to the site — no threads started,
no data sent, no performance cost. Useful for testing, and it is the default state of a
fresh copy.
Something is not working
- Players say the game shows offline. The online dot follows your cabinet’s own poll, so it goes dark within about 25 seconds of the game closing. If the game is running and it is still dark, check the console for poll errors.
- A sell or trade sits queued forever. Queued actions only apply
while the game is running. If it is running, look for
Skipping queued action for unknown player— that means the player’s website username does not match any record in your game’s saved data. - 401 errors in the console. The key is wrong, or it was regenerated on the site after this config was written. Generate a fresh one and update the file.
Anything else, the contact page reaches us. The hosting terms cover billing and what the arrangement includes.