Repository navigation
Config
github-actions[bot] edited this page Oct 24, 2026
·
1 revision
NeroArcade's settings live in config/neroarcade.properties, created on first launch. Keys are flat (the dots are
part of the name). Operators can reload the file with /neroland config reload; a key that says "restart" takes
effect only after one. Numbers outside the range are brought back inside it.
Server keys are decided by the server and sent to every player when they join, so a client always runs the same budgets as the server. Client keys belong to each player's own computer: the server never sets or reads them.
| Key | Default | Range | What it does |
|---|---|---|---|
telemetryEnabled |
true | Anonymous NeroArcade-only crash reports. On by default; set false to opt out (restart). See Privacy. |
|
client.scanlines |
false | Draws arcade screens with CRT scanlines. | |
client.screenRenderRange |
0 | 0–64 | Draws arcade screens only within this many blocks. 0 uses the server's screenRenderRange; a larger number than the server's is capped to it. |
| Key | Default | Range | What it does |
|---|---|---|---|
screenRenderRange |
32 | 8–64 | Blocks within which arcade screens are drawn, and within which a nearby player keeps a cabinet awake. |
seatRange |
3.0 | 1.5–8.0 | How far a seated player may step from the cabinet before the seat is released. |
Cabinets and the Duplicator do not use power in this version, so there is no power setting.
| Key | Default | Range | What it does |
|---|---|---|---|
runtime.maxArenaSide |
32 | 8–32 | Largest arena side in cells; a cartridge with a bigger arena is refused. |
runtime.maxEntities |
256 | 32–256 | Most moving things in one match; extra spawns do nothing. |
runtime.maxInputPacketsPerSecond |
30 | 10–60 | Input packets accepted per seat per second; the rest are dropped (nobody is kicked). |
runtime.snapshotMaxBytes |
8192 | 6400–16384 | Largest screen update; a bigger one is sent as a full frame. |
runtime.snapshotHz |
10 | 5–20 | Screen updates per second to a cabinet's viewers. |
runtime.keyframeTicks |
40 | 20–200 | Ticks between full-frame screen updates. |
runtime.maxAwakeCabinets |
32 | 4–128 | Cabinets that may run a game at once; further ones queue ("ARCADE BUSY"). |
runtime.sleepAfterTicks |
100 | 40–1200 | Ticks a cabinet with nobody seated or near waits before it sleeps. |
runtime.maxMatchSeconds |
600 | 30–1800 | Longest match; a match still running ends in a draw. |
| Key | Default | What it does when false
|
|---|---|---|
multiplayer.enabled |
true | Link Buses join nothing; every cabinet plays on its own. |
leaderboards.enabled |
true | Finished matches write no rows or personal bests; existing boards stay and are shown. |
exchange.enabled |
true | The Arcade Exchange refuses every action (listings stay); the app's export and import are off too. |
link.enabled |
true | NeroArcade does not register with the NeroLink companion app (restart). |
link.actions.export_cartridge |
true | The app cannot export a cartridge. |
link.actions.import_cartridge |
true | The app cannot import a cartridge into drafts. |
pushNotifications.enabled |
true | NeroArcade sends nothing to the NeroLink bridge, so no phone notifications; the app's events list still updates. |
| Key | Default | Range | What it does |
|---|---|---|---|
exchange.pageSize |
8 | 4–16 | Listings per Exchange page. |
economy.coinOp |
false | With NeroEconomy installed, taking a cabinet seat costs economy.coinOpPrice. A refused payment gives the seat back. If NeroEconomy is installed but its economy is switched off, every seat is refused. |
|
economy.coinOpPrice |
10 | 0–10000 | Price of one seat. |
economy.downloadPrice |
0 | 0–10000 | Price of one Exchange download, paid to the game's builder (0 = free). |
| Key | Default | Range | What it does |
|---|---|---|---|
privacy.leaderboardRetentionDays |
90 | 1–365 | Days a top-ten row is kept. Hard cap 365. |
privacy.personalBestRetentionDays |
365 | 1–365 | Days a personal best is kept after it was set; beating it restarts the clock. Hard cap 365. |
privacy.leaderboardMaxEntries |
10 | 1–25 | Rows on each board. |
privacy.exchangeMaxListings |
200 | 1–1000 | Most listings on the Exchange; a full Exchange refuses, never deletes. |
privacy.listingsPerAuthor |
16 | 1–200 | Most listings one player may have (operators exempt). |
privacy.draftsPerPlayer |
8 | 1–32 | Imported drafts kept per player. |
privacy.exportCooldownSeconds |
60 | 10–3600 | Seconds between two /neroarcade privacy export requests. |
privacy.playHistory |
false | Always false: NeroArcade keeps no record of which games a player played. Declared for the privacy notice. |
| Key | Default | Range | What it does |
|---|---|---|---|
link.importPerHour |
10 | 1–100 | Imports one player may make from the app per hour (and at most 3 a minute). |
link.push.recordCooldownMinutes |
60 | 5–1440 | Minutes between two "Record beaten" notifications for the same player and game. |
link.digestHour |
18 | 0–23 | Server-local hour of the daily "Cartridge downloaded" notification. |
link.libraryPageSize |
50 | 10–50 | Most games in one page of the app's library. |