Page 1 of 1

Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 18 Jan 2020, 00:30
by Livio
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 (gaining xp, gaining items from drops or questing, assisting in combat, 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

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.

Re: Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 18 Jan 2020, 00:54
by jesusalva
We currently have the following rule in effect:
Wushin wrote: Its within the GMs discretion

As for the general guidelines are:
wushin wrote: 17 Dec 2015, 20:37 general guidelines is nothing that helps the player progress non-monetarily (i.e. shops are fine, but farming bots are not). The bot shouldn't spam, proactively interact with players, complete quests, gain levels, etc or anything would be considered game play.
ie. broadcasts are a proactive interaction, so no go. Healing is gameplay, so no go.

Most of C and D sections are not under GM discretion, but under admins discretion because they maintain the server health overall, and if the bot is threating it they probably won't ask before banning the IP or the rogue bot; So I advise to test the bot in a localhost environment or to configure failsafes to shutdown the bot if needed.

As for your concerns, as long that your bot doesn't starts behaving like a DoS attack it probably won't be noticed for time begin.
Wiki wrote: Bots (robots) are characters that are managed by special clients that allow them to perform automatic operations. Generally speaking, bots are not allowed. Under special circumstances, it's possible (but not common) to run a friendly bot that is fun or useful to players. Friendly bots must be authorized by The Mana World Committee before they may connect to the server. Like TMW, friendly bots should be free software.
At least let Prsm know beforehand about your bot and what it does, otherwise he'll treat like a player AFK botting and ban the bot as your alt. Worst case you could even be IP banned.

It doesn't have to Prsm, any team member is fine. (wait for our reply, it takes time to tell everyone on TMWC/TMWT about it) It's encouraged that bots are free software because we may (at our solo discretion) ask to examine the source code to ensure it is not doing something evil behind the scenes (eg. stealing player data), but from time begin we don't do such examinations nor allow bots dealing with private user data.

Keep in mind you are responsible for the bots you run; If someone hacks your bot and use it for evil purposes, we will be helding you accountable for the violations your bot commited.

eg, if someone uses your bot to spam a link on general chat, you will be held co-responsible for spamming.

Re: Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 18 Jan 2020, 12:05
by Livio
Draft updated with your information: my previous thread message is considered deprecated and for reference only.
---
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. No bots chattering with other bots, for example

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 at their own discretion 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
---
Previous thread info reference:
Spoiler:
jesusalva wrote: 18 Jan 2020, 00:54 We currently have the following rule in effect:
Wushin wrote:
Its within the GMs discretion
Updates B2.
jesusalva wrote: 18 Jan 2020, 00:54 As for the general guidelines are:
wushin wrote: ↑
17 Dec 2015, 20:37
general guidelines is nothing that helps the player progress non-monetarily (i.e. shops are fine, but farming bots are not). The bot shouldn't spam, proactively interact with players, complete quests, gain levels, etc or anything would be considered game play.
ie. broadcasts are a proactive interaction, so no go. Healing is gameplay, so no go.
Improves A2, cites A4c and B1a.
jesusalva wrote: 18 Jan 2020, 00:54 Keep in mind you are responsible for the bots you run; If someone hacks your bot and use it for evil purposes, we will be helding you accountable for the violations your bot commited.

eg, if someone uses your bot to spam a link on general chat, you will be held co-responsible for spamming.
Introduces B3, B3a:b, B3c1:4.

Re: Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 22 Jan 2020, 06:29
by jesusalva
I'm doing some "spring cleaning" on TMWT forum again (mostly removing some excessive pins and replacing them with links like o11c did), there's a thread called "Friendly Bots"; Dated 2009~2013 and the first deliberation over friendly bots - Probably no longer under effect, the guildelines I've sent here earlier are dated 2015 and thus replace, but nonetheless, some important data remains.

I'll put them here, publicy, please do not take them imperatively or as official nor anything.
MadCamel wrote: I think any policy on friendly bots really depends on what the bot does. If there is a large potential for abuse(ie ManaMarket) it should have it's code reviewed and run on the server itself. If it's just a harmless toy people should relax. Remember, we want to encourage people to experiment. That's how developers/contributors are traditionally born.
For reference, that article was the father of every post done after about bots, including every one you've referenced. It is two pages long, but it mostly boils down to this:
It must be approved and can be revoked and we will deal with them on a case-by-case basis.
We have reviewed the policies and guidelines countless times, we do so since 2009, and they all ended up in "this is too highly subjective, we will set subjective rules and act as needed".

Your rule proposal is good for a reference and it is a good to every bot developer to read them, as they increase the chance of having the bot officialy approved and etcetra; Just like Wushin's draft are good guidelines for those writting bots.

But I still prefer our current guidelines as they're more effective in covering grey areas. Prohibiting all bots since time begin and approving them on a case-by-case basis allows us much more safety and control over the server overall health than having a set of rules both parties have to follow.

TL;DR We encourage players to contribute and develop stuff, but we gotta reserve ourselves the right to stop abuse - and there are oh so many ways to abuse, that it is better to keep rules subjective like they currently are.

Re: Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 22 Jan 2020, 16:28
by prsm
i agree with Jesusalvas response!

Re: Suggestion of draft for summarizing game rules for bots not affiliated with TMW project

Posted: 22 Jan 2020, 17:15
by Livio
Got it! I will use my draft for as a development guideline and I will ask for permission before implementing more functions or other bots.