Start here

Ankor game nodes

Ankor hosts Counter-Strike 2 servers on your own hardware. You install the Ankor agent on a Linux machine and connect it to a controller. From then on the machine is a game node. The agent installs CS2 and keeps it up to date. It starts a dedicated server whenever a game server is requested. Players join that server directly and play their map. The server shuts itself down when the match is over.

Every node connects to a controller. The controller decides who plays, on which map and on which node, and keeps the results. You choose which controller your nodes connect to:

Official Ankor

ankor.sh

Sign in with Steam, add your nodes, start lobbies.

Pros

  • Nothing to build or host besides your nodes.
  • Lobbies, map picks, statistics and demo storage.
  • Share nodes and update them from the browser.

Cons

Self-hosted

your own controller

Build your own controller on the open protocol.

Pros

  • Your own match flow, rules and game modes.
  • Everything runs on your infrastructure.
  • A minimal implementation needs only a few messages.

Cons

  • You build, host and maintain the controller.
  • You track the agent’s release lines, as Versioning explains.

A controller that someone else built on the protocol has the same control over your nodes as ankor.sh.

A node, not a server

With MatchZy, PugSharp or get5 you own a server. You install it, add a plugin and your configs, and keep them working through every game update. An Ankor node has no such server to look after. Each match runs in a fresh container from the official ankor-cs2 image. The image carries the plugin, SwiftlyS2 and the server configuration. It runs on top of one CS2 installation that the node shares between its servers.

A match on ankor.sh plays CS2’s competitive defaults, like one on Premier or FACEIT. Its launch sets only the match rules, such as friendly fire, GOTV and overtime. To play custom games, you must build your own implementation on the public agent protocol.

Ankor’s plugin runs in every game server. It reports its state and gameplay events to the agent, and it runs the match. Kinds of launch lists what it does in each launch. The plugin cannot be left out or replaced, because nodes depend on it.

Get started

Working with an AI assistant?

Give it https://docs.ankor.sh/llms.txt instead of these pages. It lists every guide as plain Markdown and links the full protocol as one AsyncAPI document. llms-full.txt holds all guides in a single file.

Edit this page