CS2 Plugin
TicketToolLink connects your Counter-Strike 2 server to one Discord server. When someone opens a ticket, staff see the player's in-game name, whether they are online and when they were last seen, whether they are an admin on your server, and any active ban from CS2-SimpleAdmin or the server's own ban list.
Community and Pro
Game server plugins are included with Community and Pro, the same as lookups and ban lookup. Game Server Plugins compares the five official plugins.
Requirements
- Server: a CS2 dedicated server with CounterStrikeSharp installed (.NET 8).
- Admin plugin (optional): CS2-SimpleAdmin, for its bans. Only CS2-SimpleAdmin on MySQL or MariaDB is supported.
- Network: outbound HTTPS to
dash.ticket-tool.app. There is no port to open.
How members are matched
Ticket Tool looks up the Steam account the ticket opener linked on their Linked accounts page and shared with your Discord server, and asks the plugin about that SteamID64. There is no in-game linking: members link Steam once, by signing in through Steam or importing it from Discord. If the opener hasn't shared a Steam account with your server, the card says so and the plugin isn't asked.
Download
Download TicketToolLink-cs2-<version>.zip from the CS2 releases page of the open-source ticket-tool-app/integrations repository. Each release has a .sha256 checksum file next to it.
Setup
Create a plugin key
Go to Dashboard → Automations → Connections. Under Game server plugins, click Create a key, pick Counter-Strike 2 and name it after the server. Copy the key: it is only shown once. Create one key for each server you run.
Install the plugin
Unzip the release into the server's game/csgo folder, so you have addons/counterstrikesharp/plugins/TicketToolLink, and start the server once. That creates addons/counterstrikesharp/configs/plugins/TicketToolLink/TicketToolLink.json.
Paste the key
Paste the whole key from the dashboard into the key field:
{
"key": "ttp_0123456789abcdef.your-key-here",
"api-url": "https://dash.ticket-tool.app"
}
Run css_ticketlink reload. Within a few seconds the key shows Connected now on the Connections page, and css_ticketlink status says the plugin is connected. The key is never written to the server log.
Turn it on in a category
Edit a category and open Game server tools on the General tab. Switch on Counter-Strike 2 in the Lookups card, tick Counter-Strike 2 in the Ban lookup card, or both.
Commands
| Command | Permission | What it does |
|---|---|---|
css_ticketlink status | @css/root | Shows the connection state, key id, Discord server and ban source |
css_ticketlink reload | @css/root | Re-reads the config and reconnects |
Both work from the server console.
What staff see
- Lookups card: the player's in-game name with a link to their Steam profile, their SteamID64, Online on the server or Offline with the last-seen date, when they first joined, and up to six extra lines from the plugin, such as whether they are an admin.
- Ban lookup card: a Counter-Strike 2 row with the reason, date, expiry and moderator.
- Variables:
{cs2.linked},{cs2.name},{cs2.steam_id},{cs2.url},{cs2.online},{cs2.last_seen},{cs2.first_seen},{cs2.server}and{cs2.details}, plus{bans.cs2.banned},{bans.cs2.reason}and the otherbans.cs2fields. Variables says what each one holds.
If the plugin is offline or slow, the ticket still opens straight away. Staff see the linked Steam account and a note that the plugin didn't answer.
Ban sources
provider | Ban source |
|---|---|
simpleadmin | CS2-SimpleAdmin bans (MySQL or MariaDB) |
server | The server's own ban list |
Steam's own VAC and game bans are a separate Ban Lookup source.
Rotating or revoking a key
On the Connections page, Rotate issues a new key for the same entry and stops the old one at once, so put the new key in the plugin's config and reload. Revoke deletes the key, and Counter-Strike 2 lookups show as unavailable. To build a plugin of your own, see the Game Plugin Protocol.