SkillAgentSearch skills...

SourceRCON

C++ Source RCON implementation

Install / Use

/learn @Phil25/SourceRCON
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

C++ Source RCON implementation

Uses Valve's Source RCON protocol for communicating with remote Source engine servers.

Contents

Features ^

  • Implemented as a C++ class
  • Exposes a very simple interface
  • Supports multi-packet responses
  • Non-threaded, delays for larger reponses
  • Connection timeout (default 4 seconds)

Notes about this implementation:

  • This is not a standalone application.
  • It works on UNIX systems only as of now.

Example Usage ^

Prints test.

srcon client = srcon("127.0.0.1", 27015, "password");
std::string response = client.send("echo test");
std::cout << response << std::endl;

Constructors ^

  1. srcon(srcon_addr addr, int timeout=SRCON_DEFAULT_TIMEOUT)
    • addrsrcon_addr struct
    • timeout — connection timeout in seconds (defaults to 4)
  2. srcon(std::string address, int port, std::string pass, int timeout=SRCON_DEFAULT_TIMEOUT)
    • address — address of the server
    • port — port of the server
    • pass — rcon password of the server
    • timeout — connection timeout in seconds (defaults to 4)

Address Structure ^

srcon_addr struct consists of:

  1. std::string addr — address of the server
  2. int port — port of the server
  3. std::string pass — rcon password of the server

Multi-packet Response ^

Using a method by Koraktor as explained here.

After each SERVERDATA_EXECCOMMAND request, a SERVERDATA_RESPONSE_VALUE packet is sent, which is used as a terminator package. This adds overhead to communication, but assures a reliable reception of all responses. For lengths of over 1024 bytes, the thread halts to let the buffer get filled (0.5 seconds).

Related Skills

View on GitHub
GitHub Stars27
CategoryDevelopment
Updated7mo ago
Forks5

Languages

C++

Security Score

87/100

Audited on Aug 2, 2025

No findings