The infrastructure platform for game servers
Store, deliver, and monitor your game server assets and activity. Upload screenshots, ingest structured logs, and serve files from the edge — all backed by PostgreSQL, in a few lines of code.
-- Upload a screenshot and log the event
local url = exports.gamestack:UploadScreenshot(source)
exports.gamestack:LogMessage("info", "Screenshot captured", {
playerSource = source,
url = url,
action = "screenshot"
})Use Cases
Built for the things server owners actually do
Player screenshots, event logs, loading screens — the stuff every server needs, handled by one platform.
Player Screenshots & Media
Upload screenshots, clips, and audio straight from your server scripts. Get a CDN URL back instantly — no self-hosted image server to babysit.
- Works with screenshot-basic and popular upload scripts
- Upload images, video, and audio via a simple API token
- Embed media directly in Discord webhooks and reports
Server Event Logging
Send structured logs from your game server with player metadata. Query by license, Discord ID, or time window to settle reports in minutes.
- Filter logs by player, event, or time range
- 90-day retention with full SQL query support
- Pipe critical events to Discord webhooks
Loading Screens & Assets
Host loading screens, MLO previews, and server assets. Deliver from edge locations with flat bandwidth pricing.
- Public CDN URLs for every uploaded file
- Organize assets with metadata tags
- Serve files with long-lived cache headers
Features
The details that matter when you run a server
SQL-backed storage & logs
Every file, log entry, and API key lives in PostgreSQL. Query your data with full SQL — no opaque NoSQL blobs.
Presigned uploads from game clients
Let clients push screenshots directly to storage with short-lived upload URLs. Your API token never leaves the server.
Filter logs by player, event, or time
Pull up every event tied to a license or Discord ID, narrow it to a time window, and settle player reports in minutes.
Works with ESX, QBCore & ox_lib
Drop-in resources for the frameworks you already run. Install the resource, set your token, done.
FiveM, Hytale & Roblox SDKs
Native SDKs and resources for the platforms you build on, with examples for uploads and logging on each.
Discord webhooks built in
Pipe uploaded media and critical log events straight into your staff channels without writing glue code.
Developer Experience
Get up and running in minutes
Integrate GameStack with just a few lines of code. SDKs available for Lua, TypeScript, and more. All data stored in PostgreSQL for full queryability.
TypeScript · Node SDK
import { GameStack } from "@gamestack/sdk";
const gs = new GameStack(process.env.GAMESTACK_API_KEY);
// Log a player action
await gs.log("warn", "Player spawned vehicle", {
name: "player-kills",
playerSource: 42,
vehicle: "SportsCar",
coords: [123.0, 33.3, 52.0],
action: "spawn",
});
// Upload a file
const { url } = await gs.upload("./screenshot.png", {
playerSource: 42,
});
console.log(url); // https://yourdomain.com/cdn/abc123.pngPricing
Transparent pricing that scales with you
Free
Perfect for small servers and testing.
- 10 GB storage
- 30 GB bandwidth / month
- 5 GB log storage
- API access
- Community support
Pro
Usage-based pricing that scales with you.
- 120 GB storage
- $4 / TB bandwidth
- 90-day log retention
- Priority support
- Webhook integrations
Network
Everything GameStack, one subscription.
- 500 GB storage
- 5 TB bandwidth
- 180-day log retention
- Custom CDN domains
- Player upload portal