||11 months ago|
|bot||11 months ago|
|.gitignore||1 year ago|
|LICENSE||2 years ago|
|README.md||1 year ago|
|app.py||1 year ago|
|requirements.txt||1 year ago|
Flexible, modern, and easy to extend bot/webinterface for the game 7dtd
Do use the development branch for updates - master is rarely updated and only meant for stable (not necessarily usable ^^), testing is the bleeding edge branch that might be broken or full of bugs.
It's usually not though :)
After running a gameserver for several years, and using several managers and bots, I have realized one thing: They heavily modify the game-experience.
In both ways, good and bad
While many of their features add elements and experiences to the game, they also take away from the core game itself. Having teleports to move around, having protected stuff and areas, item shops...
The aim of this bot is to not alter the games experience by much, but only
to add to it.
Specially for Admins/Moderators, and Builders. The casual player may not even notice that a bot is at work, apart from the authentication process of course ^^
The bot will work on any Vanilla install, and basic functions will work right out of the box. If you want to use the muting option and future features, you will need to install the chrani-mod as well.
We have been forced to write our own server-mod, the available and suitable ones were either discontinued or closed source.
It's a mad world! Closed source gaming tools. What's wrong with people and their extreme sense of self-importance? :)
Feel free to do with this heap of code-junk, or parts of it, as you please,
as long as it stays open source!
There's a fairly comprehensive installation guide on the projects-wiki
You can port forward or reverse proxy or whatever it's called this thing too. I don't know much about it, but here is my take on making subdomains work on the projects-wiki
- Module based functionality
- new modules can be added easily and without altering any of the bots files, just drop them in, check for configuration options, and start using them
- Trigger-based actions and reactions
- any telnet log output can be parsed for triggers, using regular expressions. This includes player-chat.
- database access can be monitored, using access paths, triggering actions on value changes
- any user-input from the webinterface... well... yeah of course that is monitored :)
- Socket/Push based, LCARS-Style Web-Interface :)
- Steam-login for authentication
- Widget system to easily extend the webinterface
- Uses the games own permission system (serveradmin.xml)
- Looks Epic already, even if I say so myself.
- Server-based configuration
- A single bot can run multiple servers using configuration directories
- Error-logs are stored per server
- Telnet-log widget
- Player-table widget (delete, login-status, info, kick)
- kick players with a custom message
- view basic info like kills, deaths, last time online etc.
- Location widget (create, edit, delete, records time and place of death)
- a location can be designated as a Lobby to keep people in
- locations can be made screamer-proof, all screamers will be killed on spawn
- locations can be set up as a home, with a dedicated teleport entry
- locations can be set up as a village, there's no attached functionality as of yet
- a place of death location will be updated on every player-death
- players can be blocked from logging in if they happen to be in a special location on Bloodmoons, to prevent destruction of cool property. (like absentmindedly logging in while being in the village during Bloodmoon)
- Timed or scheduled Remote shutdown procedure
- will shut down the server for restart after a given up-time, respecting Bloodmoons
- Will show the game-servers uptime when hovering online status
- shutdowns can be cancelled and forced
- Simple gametime display
- Will show the current game-time and the next Bloodmoon
- Entity widget
- simply shows all active entities for now
- Permissions widget to gate commands
- a password can be used to authenticate a player, for example, to give them the ability to leave the Lobby
There's a few commands for players to use. Each module can have their own commands, I'll just list them all here, I'm still moving some of them around, I'll sort them later ^^
_**/when is restart**_
Will print out the next scheduled restart
_**/send me home**_
Will send a player to their home location (if they have one)
_**/send me to location** xxxxx_
Will send a player to their own locations, specified with the Location identifier, (usually it's name without spaces). Replace xxxxx with the Location Identifier!
_**/take me to my grave**_
Will send a player to their last place of death
_**/where am i**_
Will print out the locations the player is currently in.
Allows players to authenticate with the bot, for various purposes like muting and lobby-porting. xxxxx is to be replaced with the actual password!
Will print out the servers uptime (not the game-server, but the physical server)
_**/when is hordenight**_
Will print out the date and time of the next Hordenight