I've searched for game rules but I haven't found not many information about rules for unaffiliated bots like mine so I am trying to summarize and enhance this viewtopic.php?f=2&t=18795&hilit=crazy+tree&start=30 to make things clear in order not to disrupt bot development and not raising unnecessary problems to anyone / anything.
---
A) Game rules:
A1) Follow players rules first
A2) No AFK activity is allowed that has an effect on gameplay helping the player to progress in a non-monetarily way
A2a) Gaining exp
A2b) Gaining items from drops or questing (no farming / hunting allowed)
A2c) Assisting in combat by fighting or healing or influencing any player's status, etc...
A3) Automatic player following is not allowed
A4) Acceptable actions:
A4a) Chatting
A4b) Heralding including remembering messages for offline players
A4c) Chat-like actions such as emotes and without turning into spam
A4d) Buy/sell/trade (should probably have a disclaimer for the possibility of lost items)
A5) Having too many bots is not allowed and it's not allowed action between bots that may disrupt game. A good example is bot chattering with other bots
B) Rules enforcement:
B1) Bots aren't allowed to do any Game Mastering action regardless of their granted permissions (if any)
B1a) Broadcast and unwanted automated whispering is forbidden
B1b) Exploiting accounts, GM commands and other game related entity is considered a severe offense
B2) Bots behavior is mainly under Game Master's judgement during bot runtime: if bot's behavior can lead to suspects a Game Master will probably limit or ban it in order to protect game so understand their actions
B3) You are responsible for the bots you run
B3a) If someone else use your bot or its functions for evil purposes you are responsible for the violations your bot committed
B3b) Even if the bot got hacked and felt under someone else's control you are still responsible for bot actions (see D1a, D1c, D1d, D2 and D2a)
B3c) In case you suspect bot is not under your full control you must take immediately at least one of those actions against the bot:
B3c1) Make an "emergency stop" function inside to disrupt bot running and make it keep log of his actions
B3c2) Change passwords related to bot like game, email, system and bot's internal services account
B3c3) Ask a GM to ban the bot
B3c4) Delete bot account (registration will require email and request for manual activation again)
C) Development rules:
C1) Do not generate too many requests per second to server
C1a) Don't make bot try too many login attempts in a short period of time even in case of connection failure
C1b) Runaway code that produces chat output can lead your bot to be banned for one hour or raise unnecessary attentions from Game Masters so check server's packets if logging is not working
C2) Bot must be released under an open source or (even better) free license
C3) Avoid making infinite loops and put a timeout for long operations. Be sure to be able to stop bot in a reasonable amount of time
C4) Comment code and make it easy to read. Providing additional documentation is greatly appreciated
D) Security rules:
D1) Sensible informations:
D1a) Bot account must not be shared with other players and must be kept safe
D1b) Storing, publishing and processing data especially for profiling and extracting sensible informations by any means is forbidden
D1c) Double check before sharing code for possible sensible information leaking (like chat histories, bot account, settings and so on...)
D1d) Run bots from up to date and safely configured Operating Systems
D1e) Outputting data out of game must not happen silently and must not include any kind sensible information
D1f) Ask for permission on using any kind of data that doesn't belong to you
D2) Use of bots as a server itselves is discouraged
D2a) Prevent code injection from any input
D3) Bot must not limit and/or disrupt any part of game including server, site, wiki, IRC and anything related to TMW project
All rules are subject to change based on needs of TMW project without notice
---
I hope that this draft could be useful to all of us and lead to better bot development.
P.S.: Wiki reports: "Friendly bots must be authorized by The Mana World Committee before they may connect to the server" but I'm not sure that happened with Liviobot and to be honest I don't even know what The Mana World Committee is. Last but not least Liviobot may have violated C1, C1a, C2 and C4 draft's rule but I'm not sure of first two.