-
Notifications
You must be signed in to change notification settings - Fork 1
Home
I am fairly bad at documenting, but here is me trying my hand on it anyways ^^
I shall call this project 'chrani-bot' or just 'bot' for the remainder of this wiki
The chrani-bot is about easy installation and unobtrusive integration.
Though it is meant to be installed on the same server as the game itself, it will work perfectly from any remote location. You can basically run it in any python (2.7x) console with network-access.
The bot will run periodic polls to get current player-data and all telnet-lines/chat-commands. Actions can be tied to commands, monitors can be attached to events to fire actions at specific times.
Actions and events can be configured on a user-rank basis.
The main Focus lies on handling new players and providing basic amenities to them.
The most minimalist configuration would basically do nothing other than running whitelist-, IP- and name-checks on players, kicking them if they don't conform to our wants. Future monitors might be a ping-kicker, a keyword monitor for the chat, things like that.
A lobby system is in place to fetch new players and keep them in any specified area, artificially confined or open. A players position will be monitored and they will be teleported back to the lobby whenever they leave it's specified area. The players chat will be muted, so the mods and admins need not bother with any new players not willing to authenticate. There is no way around this other than authenticating with the bot. The system will jump into action as soon as a lobby is placed.
Provide 'home' commands. You can set a home and return to it, if a players permissions allow it. The home can have a few options, like a variable size and teleport-spot, which can be set anywhere inside the home-area. Players will be notified on entering and leaving of such an area.
Provide location commands. You can set locations that act pretty much like a home does.
Several small goodies are included like a leg-fixer, a health buff command, kicking and banning
The bot has not been tested. It works for me and a few others have tried it, but no real testing has been done. I have no clue how well the bot will scale.
Judging from my personal tests, the basic functions work well. Set up correctly, it will survive server-restarts as well as bot-restarts.
Lobby and home are solid, locations are working as well, they need some additional work though. Different area-shapes are basically implemented (sphere, box, point), the commands to set them up are an UX desaster, so they are disabled at this time.
I am currently working on making the code-design more appealing and easier to follow and extend. I am currently learning Python, this is my first and only project with it. There's been a lot of questionable design decisions I am now ironing out.
For now, please refer to my blog posts about the bot on my servers website ^^