How Altyn is built — from the stack to the metal
Altyn Games makes CS2 matchmaking and game server hosting for Kazakhstan. This is what it is written in, what hardware it runs on, where that hardware is, who keeps an eye on it at night, and how AI helps with all of it.
- cities with nodes: Astana and Almaty
- 2
- cities with nodes: Astana and Almaty
- monitoring independent of the main infrastructure
- 24/7
- monitoring independent of the main infrastructure
- between metrics from every server
- 30 s
- between metrics from every server
- rules that raise an alert
- 160+
- rules that raise an alert
What Altyn is made of
Four layers: the products, the platform under them, the hardware, and the monitoring that watches all of it from the side. And the domains it all runs on.
Altyn Play
CS2 5v5 matchmaking
- React
- Node.js
- PostgreSQL
- MatchZy
The panel
Game server hosting
- Pterodactyl
- Laravel
- MariaDB
- Redis
Altyn ID
One sign-in for Play and the panel
- Laravel
- OpenID Connect
- MariaDB
Server websites
name.altyn.fun with who’s online and a world map
- Node.js
- BlueMap
Wings + Docker
Every game server is its own container with its own CPU, memory and disk limits.
Proxmox VE
Virtualisation in Astana: the game node, the panel, ID and Play are kept apart from each other.
nginx
TLS, and serving the sites and the panel.
WireGuard
An encrypted link between Astana and Almaty.
- Astana AST-12 × Intel Xeon Platinum 8168
- Almaty ALA-2AMD Ryzen 9 9950X3D
Metrics, logs, checks, alerts and the status page are deployed independently of the main infrastructure.
- VictoriaMetrics
- VictoriaLogs
- Grafana
- Uptime Kuma
- Alertmanager → Telegram
Our domains are these five, and no others. This site, Altyn Play, the panel, Altyn ID and our email run on altyngames.kz and altyn.games.
altyn.fun, mcmc.kz and dostar.xyz are players’ server addresses. The names and everything on them come from the server owners and have nothing to do with us.
- altyngames.kz
- altyn.games
- altyn.fun
- mcmc.kz
- dostar.xyz
AST-1 and ALA-2 — the hardware you play on
Two sites in two cities. Your ping to each is measured right now, from your browser.
- NearestAstanaAST-1
The main node
2 × Intel Xeon Platinum 8168
- Cores
- 48 cores · 96 threads
- Clock
- up to 3.7 GHz
- Cache
- 2 × 33 MB L3
- Memory
- 754 GB DDR4
A dual-socket server with a huge reserve of memory. Next to the game servers, it runs the panel, Altyn ID, Altyn Play and their databases.
your ping—msmeasuring… - NearestAlmatyALA-2
For heavy servers
AMD Ryzen 9 9950X3D
- Cores
- 16 cores · 32 threads
- Clock
- up to 5.7 GHz
- Cache
- 128 MB L3 with 3D V-Cache
- Memory
- 64 GB DDR5
- Disk
- 2 TB NVMe
One of the fastest processors for games: a high clock and 3D V-Cache hold the tick rate on modpacks and full servers.
your ping—msmeasuring…
altyn playAltyn Play matches are played on both nodes; players choose their cities.
Plans in both citiesEverything you use is in Kazakhstan
Game servers
Nodes in Astana and Almaty, with your servers’ files and worlds on them. Players connect straight to the node, with no foreign proxy on the way.
The panel, ID and Play
Run in Astana with their databases: accounts, servers, matches and payment history are kept here.
Paid in tenge
By QR from any Kazakhstani bank’s app. The service is run by a sole proprietor registered in Kazakhstan.
In three languages
The panel, Altyn Play and Altyn ID speak Kazakh, Russian and English.
Outside — only what has to be outside
Where and how data is processed- The monitoring and the status page are deployed independently of the main infrastructure. If everything else goes down, they see it and raise the alarm: a watchman in the same building goes quiet in the very outage you need him for.
- Database backups are encrypted on the server and kept off-site. Only we hold the key; it is on none of the servers.
- Web pages of the panel, ID and Play are delivered through Cloudflare’s network. Game traffic does not go through it.
- Cloud AI models, OpenRouter and Gemini, run abroad. They are sent what an answer needs: your question and the last lines of the server’s log, for example. Local models run on our own GPUs, and requests to them stay inside.
Watched around the clock — and from the side
The monitoring and the status page are deployed independently of the main infrastructure. They do not go down with what they watch, and they do not stay quiet when something has.
Hardware
The temperature of every core, fans, power, and the health and temperature of the disks.
Game servers
Minecraft TPS and Rust FPS on every server, restart loops, memory at its limit. We see lag, not only crashes.
Platform
The panel, Altyn ID, Play, the databases and the job queues. And payments: if QR payments stop going through, an alert fires.
Backups
The panel’s and Altyn ID’s databases are backed up every hour. A backup that is late, or suspiciously smaller, raises an alert.
Alerts reach an engineer’s Telegram at any hour. AI gathers the metrics, the logs and our written instructions for the case right away, so nobody guesses what to do at night. The engineer decides and fixes.
How the services are doing now, and the history of checks. Refreshes every minute.
status.altyn.games
- between outside checks of the panel and nodes
- 60 s
- between outside checks of the panel and nodes
- between metrics
- 30 s
- between metrics
- of metrics history kept
- 12 mo
- of metrics history kept
- of logs kept
- 90 d
- of logs kept
A backup counts only once it has been restored
For the platform’s data we have recovery targets, copies in several places, and drills where we bring them back.
- Backed up every hour. Accounts, payments and servers in the panel and Altyn ID every hour; Altyn Play, in beta, once a day.
- Copies are encrypted on the server. Once a week, encrypted images of the panel’s, ID’s and Play’s machines go to another city, Almaty.
- We test by restoring. The panel’s, Altyn ID’s and Play’s databases have been brought back from their copies in drills, and encrypted copies were downloaded back and matched byte for byte against the originals. We repeat the drills every quarter.
This is the platform’s data. Game servers’ worlds and files are not part of it: you back those up in the panel, to your own Google Drive too.
- RPO for the panel and Altyn ID: an outage loses at most an hour of data
- 1 h
- RPO for the panel and Altyn ID: an outage loses at most an hour of data
- RPO for Altyn Play while it is in beta
- 24 h
- RPO for Altyn Play while it is in beta
- places holding copies: Astana, Almaty and off-site
- 3
- places holding copies: Astana, Almaty and off-site
- of off-site copies kept
- 60 d
- of off-site copies kept
AI-native, with a human in the loop
Altyn Games is an AI-native project: AI is built into the products, the support and the operations, and it helps us write the code. But a human stays in the loop: AI reads, searches and suggests, and a person decides and answers for the result.
Models
- OpenRouter
Models from many labs through one gateway: we pick the right one for each task.
- Gemini
Google’s models: the console assistant started on them.
- Local models
Open models on our own GPUs. Requests to them never leave our infrastructure.
If a model stops answering, the panel’s assistant moves on to the next, and the bots switch to a working one within 15 minutes.
Server logs
The assistant in the panel’s console reads your server’s live log, finds why it failed and suggests what to do, in the panel’s language.
The assistant only advises: it runs no commands on the server and changes nothing on it.
Minecraft bots
An AI bot joins your Minecraft server and plays alongside you: it follows you, mines, builds and defends. Give it a task in chat, in your own language, or from the panel.
You can limit whom the bot listens to in chat, and only someone with access to the server’s console can steer it from the panel. One button stops it.
Altyn Play anticheat
AI helps us find cheaters: it picks out suspicious matches and players for review.
Only a moderator hands out a penalty, after checking for themselves. Appeals are handled by a person too.
Support
Before a ticket is even sent, AI looks at the server’s state and suggests a fix. If only we can fix it, it takes you straight to a person.
You can always send the ticket, and whoever picks it up sees what AI already suggested. AI cannot close or reject a ticket.
Alerts
When an alert fires, AI is first on it: it gathers the metrics and logs around it, suggests a likely cause and finds our instructions for the case.
An engineer makes the call and fixes the failure.
Development
We write the panel, Altyn Play, Altyn ID and this site together with AI: code, tests and reviews.
A person reads and ships every change.
Built with security in mind
Security is not a box we tick at the end: we think about it when we design, write and ship every part of Altyn, and we test what we build. And if someone finds a hole before we do, we want to hear about it.
Kept apart
Every game server runs in its own Docker container: a seccomp filter, dropped capabilities and no‑new‑privileges, a read-only root filesystem, a non-root user, and cgroup limits on CPU, memory and processes. A firewall keeps the containers out of our internal network.
Encrypted
Every site is served over TLS, Astana and Almaty talk over WireGuard, and backups are encrypted on the server with a key that is on none of our servers.
Tested
A person reads every change before it ships, and we test our products for vulnerabilities ourselves, looking at them the way an attacker would.
Found a vulnerability?
Write to us. We value every report: it makes Altyn safer for everyone who plays and hosts here.
security@altyn.games- Describe what you found and how to reproduce it.
- Don’t open other people’s data or disrupt their servers while you test.
- Give us time to fix it before you tell anyone else.
Altyn Games — made in Kazakhstan
Altyn Play matchmaking, game server hosting and one Altyn ID account for both. We write these products ourselves and run the servers they live on ourselves. AI helps us at every step, but people make the decisions.