-
Notifications
You must be signed in to change notification settings - Fork 25
Introduction to craftirc communication tags, endpoints and paths
If you think this looks confusing, calm down, take a deep breath. Count to 10.
CraftIRC v3 has an engine that can relay messages from one source participant to one or more target participants. This engine sees every participant as a similar entity, without giving anyone special treatment. Participants are called Endpoints and can be provided by either CraftIRC itself or any compatible plugin.
Every Endpoint, when it starts running, is registered into CraftIRC in order to become available to send and receive messages. For this to happen, it has to provide a tag - a textual name that represents it in the CraftIRC config file.
This name is provided by the participant itself, so if you are adding an external plugin either the plugin has a built-in tag or tags (check that plugin's documentation) or they have to be configured in this plugin's configuration file. However, be careful - There can't be repeated tags; Attempting to add a second endpoint with the same tag will fail and the endpoint will not be available in your server until you change the tag and restart.
Tags for IRC channels are defined in config.yml, in the bots: section, under the channels: list for each bot.
Finally, you have to create one or more paths. A path is a one-way "tunnel" connecting two tags. They are added in the paths: section in config.yml. Creating a path has two effects:
- Messages without a target endpoint are sent to all available paths departing from their source. Most messages are like this - For example, normal player chat is sent through every possible path departing from the Minecraft endpoint. So you need to create paths from Minecraft to every IRC channel where you want to receive messages. If you want a two-way path, create another path in the opposite direction (reverse the source and the target)!
- Plugin developers can send messages to a specific single endpoint. However, the plugin will only be allowed to do this if you first open the path in the CraftIRC config file! If a custom plugin needs you to open paths, that plugin's documentation will tell you what to do.