JSON-RPC

UnrealIRCd 6.0.5 comes with a JSON-RPC API. This allows remote endpoints to query and control UnrealIRCd. Examples are: statistics or an admin web panel. This is currently all work in progress / experimental, the version is 6.0.5 is by no means final, it will be expanded in 6.0.6 and later.

This page starts with Configuration and Transport to quickly get you started. More details about the format are provided in the section JSON-RPC Protocol and the list of all API calls is in JSON-RPC Methods.

Configuration
You need to load the requires JSON-RPC modules. Simply put this in your unrealircd.conf: include "rpc.modules.default.conf";

Then, open up a port (Listen block) and add at least one api user (Rpc-user block): /* HTTPS on port 8000 for the JSON-RPC API */ listen { ip *; port 8000; options { rpc; } }

/* API user */ rpc-user apiuser { match { ip 192.168.*; } password "password"; }

Current software
The following (external) software uses UnrealIRCd's JSON-RPC API:
 * UnrealIRCd admin panel by Valware (PHP, native) (NEW)
 * UnrealIRCd admin panel by Sketch (PHP, Laravel) (stalled/abandoned)

Technical documentation and protocol
For developers and people who want to use the JSON-RPC API to interact with UnrealIRCd, see the JSON-RPC:Technical documentation.