Overview
Places (also known as games) are user-created game servers. These endpoints handle viewing, managing, and joining places.Get Place Details
Retrieve detailed information about a specific place.Request
Place asset ID
URL-encoded place name (used for SEO-friendly URLs)
Private server ticket for accessing private places
Valid session cookie
Response
Place asset ID
Place name
URL-safe encoded name
Place description
text: Description contentupdated: Last update timestamp
Place owner information
Owner’s username
Creation timestamp
Last update timestamp
Maximum player capacity
Whether this is a private server
Private server access ticket (if applicable)
Server connection ticket (empty unless user is owner with permission level 5)
Number of likes
Number of dislikes
Whether current user likes this place
Whether current user dislikes this place
Current players:
username: Player usernamestatus: “Playing”
Server ping/latency
Whether game server hosting is enabled
Custom URI scheme for launcher integration
Orbiter server URL for game connections
Array of thumbnail indices
Errors
- 404 Not Found: Place doesn’t exist or private server ticket invalid
- 302 Redirect: Name mismatch (redirects to correct URL)
Site/src/routes/(main)/place/[id=asset]/[name]/+page.server.ts:45-80
Join Place
Generate a ticket to join a game server.Request
Place asset ID
Place name
Private server ticket (if joining private server)
Valid session cookie
Response
Game session ticket for connecting to the server
Implementation Details
This endpoint:- Validates the place exists and user has access
- Checks if user is moderated (banned from playing)
- Invalidates any existing game sessions for the user
- Creates a new playing session with a unique ticket
- Returns the ticket for client connection
Errors
- 403 Forbidden: “You cannot currently play games” - User is moderated
- 404 Not Found: Place doesn’t exist or invalid private ticket
Site/src/routes/(main)/place/[id=asset]/[name]/+page.server.ts:116-127
Start Dedicated Server
Start a dedicated game server for a place.Request
Place asset ID
Private server ticket (if applicable)
Valid session cookie
Response
Returns empty response on success.Rate Limiting
This endpoint is rate-limited to 20 requests per IP address.Implementation Details
- Verifies user is not moderated
- Validates place exists and user has access
- Checks for place file existence in
../data/places/{id} - Sends request to Orbiter to start the game server
Errors
- 403 Forbidden: User is moderated
- 404 Not Found: Place file not found
- 500 Internal Server Error: “Failed to start dedicated server”
Site/src/routes/(main)/place/[id=asset]/[name]/+page.server.ts:129-153
Close Dedicated Server
Stop a running dedicated game server.Request
Place asset ID
Private server ticket (if applicable)
Valid session cookie
Response
Returns empty response on success.Authorization
User must be either:- The place owner, OR
- Have permission level 4 or higher (moderator/admin)
Errors
- 403 Forbidden: “You do not have permission to close this server.”
- 404 Not Found: Place doesn’t exist
- 500 Internal Server Error: “Failed to close dedicated server”
Site/src/routes/(main)/place/[id=asset]/[name]/+page.server.ts:155-169
Place Settings
Manage place configuration. All settings endpoints require the user to be the place owner or have permission level 4+.Get Place Settings
Place asset ID
Valid session cookie
Response
Returns full place configuration including forms for each settings category.Place name
Place description
Whether this uses a dedicated server
Dedicated server IP address
Dedicated server port
Maximum player count
Privacy setting
Private access ticket
Server authentication ticket
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:69-90
Update View Settings
Place name (max 100 characters)
Place description (max 1000 characters)
Place icon image (max 1MB, resized to 270x270, converted to AVIF)
- icon: “Icon must be less than 1MB in size”
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:103-134
Update Network Settings
Enable dedicated server mode
Dedicated server IP address
Dedicated server port
Maximum concurrent players
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:144-151
Update Privacy Settings
Enable private server mode
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:152-161
Regenerate Server Ticket
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:135-143
Regenerate Private Link
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:162-170
Upload Place Data
Place data file (max 100MB)
../data/places/{id}.
Response: “Place data updated successfully!”
Errors:
- file: “File must be less than 100MB in size”
Site/src/routes/(main)/place/[id=asset]/[name]/settings/+page.server.ts:171-188