Friendly bots and alternate clients

Content and general development discussion, including quest scripts and server code. The Mana World is a project comprising the original tmwAthena server & a designated improved engine server based on evolHercules


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board. Its current use is for the continued development of the server and game it has always served: The Mana World.

User avatar
AnonDuck
TMW Adviser
TMW Adviser
Posts: 653
Joined: 02 Jan 2009, 04:19
Location: Catland

Friendly bots and alternate clients

Post by AnonDuck »

Most of this is taken from #themanaworld-dev on IRC. We were having a discussion on TMW's friendly bot and alternate client policy and came up with some decent ideas that could use more input from the community. Keep in mind that these are just ideas at this point.

Right now it is unclear where the line is drawn on what clients are allowed to connect to the server. The current policy(full source-code review and running under a dev's supervision for a friendly bot) is full of double-standards and inconsistency.

After hashing things around, a few of us came to the consensus that the main TMW server should be a mostly open-access system to friendly bots *PROVIDED THAT* there is documentation on what the bot does and it is accepted by the TMWc. Alternate clients that do not perform AFK activity should all be allowed, no questions asked.

There isn't much of a difference between a tradebot and someone sitting in town with manaplus set to buy and sell items all day. The person could even stop in daily and adjust prices for supply/demand so they make a profit. This is all built into the semi-official client. What's it matter if someone writes another client that does the same? Manaplus buy/sell is indeed AFK activity, and it's allowed.. But it's not allowed if someone writes their own program to do so. Why? Because the TMWc doesn't know the capabilities and behavior of said client, and it's performing AFK activity that may have an impact on the game balance.

ManaPlus has been reviewed by TMWc and it was decided to allow it's minor AFK activity as TMWc knows how it behaves. A random AuctionBot with no documentation or code would be a mystery and could seriously upset game balance and/or rip off players.

It boils down to this:
To connect to the live gameserver, the staff of the server should have a good *general* idea of what your client/bot does. If it performs AFK activity, the staff should know EXACTLY what it does, documentation should be provided, and it needs to be approved.

As a simple example of how we think it should work: If you wrote an AuctionBot and wanted to run it while skimming 10% of the GP from every trade.. And it was documented as such, it may be allowed by TMWc. No source-code needed. If there was NO documentation that you are skimming 10% and the server logs show you are doing it anyway and lied on your application for friendly bot status, that bot would be banned and there would be a reckoning.

Another simple example: Someone writes (from scratch, no GPL code) a TMW client for iPad. Since TMWc can easily pick up this client and see what it does(Well, assuming someone has an iPad).. And it didn't perform AFK activity(No need for friendly bot approval), it would be fine to connect and play with. No source code review would be needed.

Yet another example: People modify their clients all the time (things like auto-heal, etc). This should be fine too with no review as long as you are not doing AFK activity.

It's important that TMW remain an open platform as possible. It's hard to strike a balance between openness and the potential to cheat. It's hard to even define what cheating is sometimes.. I'm hoping we can strike a middle ground that allows the platform to remain as open as possible while retaining stern penalties for cheating.


Comments?
Head of the TMW Illuminati
Frost
TMW Adviser
TMW Adviser
Posts: 851
Joined: 09 Sep 2010, 06:20
Location: California, USA

Re: Friendly bots and alternate clients

Post by Frost »

This all sounds great to me.

I'd like to throw in another idea, about specific "bot accounts."

Thus far, there has been the idea that an "approved bot" shouldn't profit from its function. ManaMarket shouldn't charge a fee. Confused Tree shouldn't gain levels from healing. The original concept was that the owner of the account shouldn't profit from just leaving some script running 24/7.

If a bot is approved for a certain function and the owner of the account agrees that the character will be used for only the purpose of that bot service, I suggest that incidental experience gains should not disqualify a service bot from being approved.

To make a simple example, suppose I write a bot which converts maggot slimes to lifestones and iron ore to powders, up to 5 times per day for any character in the game. No fee is charged and all results are traded back to the other person, but as a result of casting the conversion spells, the bot character gains "magic experience."
I submit this plan for approval, and promise that the "Automat" character will be used for only the bot function, and never as a regular character. Therefore, I will never personally gain from this.

I hope this didn't pull a very excellent discussion too far off topic.
You earn respect by how you live, not by what you demand.
-unknown
User avatar
AnonDuck
TMW Adviser
TMW Adviser
Posts: 653
Joined: 02 Jan 2009, 04:19
Location: Catland

Re: Friendly bots and alternate clients

Post by AnonDuck »

Cody,

So it's your opinion that only official clients should be allowed to connect to the server.. Maybe even figure a way to cryptographically sign them so they can be authenticated if possible?

I can't discount this position entirely. It would put everyone on the same playing field and that might not be a bad thing.

The question is... Is this primarily a game, or primarily an open source project? I think if it's primarily an open-source project then it's quite important to allow innovation through third party clients assuming they behave themselves.

Are things like ManaMarket not good for the game? Did writing the TMW<->IRC bridge for Quiz not teach me more of the eA protocol so I could add anti-abuse measures to the server? Stuff like that wouldn't happen in a closed "game-only" environment.

As far as gaining an unfair advantage with third party clients: It'll happen weather we want it to or not. Even a signed binary to connect is still vulnerable to memory tamper, macro keyboards, etc. In the past the rules have always been changed to allow the GMs to do something about the most egregious abuses such as autofollow, heal bots, etc and I see no reason this process couldn't continue for whatever else people think up.
Head of the TMW Illuminati
Frost
TMW Adviser
TMW Adviser
Posts: 851
Joined: 09 Sep 2010, 06:20
Location: California, USA

Re: Friendly bots and alternate clients

Post by Frost »

cody wrote:
MadCamel wrote:Right now it is unclear where the line is drawn on what clients are allowed to connect to the server.
It would be very simple to draw a line, if TMW had not giving up its own client. I never understood why there are so many people willing to write bots, but no one cares about a TMW client.
I never heard of a list of "permitted clients," nor a desire to block players from using other clients, such as the Android version. If anything, I think this discussion is to make it less cumbersome for people to create new clients or platforms for people to play TMW. As an example, I have heard that "TMW can never be played from iOS because all clients must be GPL."
I am in the lucky position that I have the skills to write a bot too. So I don't care if you replace the community by bots.
Nobody is suggesting that we replace players with ManaMarkets. Anyway, bots and alternative clients already exist in the game. Honest people worry about following rules; others care only about getting caught. Let's make the rules more clear.
You say you have the skills to write a TMW client. Do you have the interest to help?
You earn respect by how you live, not by what you demand.
-unknown
melkior
Warrior
Warrior
Posts: 320
Joined: 28 Dec 2008, 15:57

Re: Friendly bots and alternate clients

Post by melkior »

Frost wrote:I submit this plan for approval, and promise that the "Automat" character will be used for only the bot function, and never as a regular character. Therefore, I will never personally gain from this.
This is pretty much what had been agreed upon for ConfusedTree's auto-healing function before I had taken a vacation from this game. At first it was allowed, then there was some grumbling and it ended with me removing the functionality because I have grown tired of the auto-heal in the game in general. Specifically, Alt+1-triggered auto-heal annoyed me to no end as I liked not being healed (just a sidenote, this games has changed considerably in my absence, for the better IMHO, and I really do appreciate being healed now, even by non-AFK automation :D ).

I'll be using ConfusedTree (CT) as an example a lot, please don't mind as it's the only bot I have any practical experience with.

Honestly, in general, I wouldn't mind if a committee of sorts needed to review my code for a bot to be approved, but that brings a lot of complications. First of all, parts of CT's code aren't mine to share. The script on which CT is based was written by MadCamel, and as far as I know, he never shared the code publicly. Secondly, CT's code changes at least 10 times a day. Having me, or any bot dev, resubmit the code for review after each change would annoy the hell out of everyone.

I think there's a huge difference between bots written for a specific purpose and bots just for fun, like CT. I can't give you an exact list of what CT does, because I don't even know what it currently does and what's it going to do. ManaMarket has a huge advantage here — it has a specific purpose that can be cleanly outlined, all the commands listed.

CT on the other hand has no specific plan. When I first made the bot, it was just a joke, all it did was throw the Alt+2 emoticon, basically spamming the hell out of everyone. Then I figured I'd better make it interactive, so it would only respond to emotes. I guess players liked that, because they tried interacting with the Tree more and more, in various ways. So I started processing the chat, throwing responses at certain phrases and basically let the players decide what the tree was going to be.

What I'm trying to say, in cases like this, it would be very hard to keep a detailed documentation of what the bot responds to — a list of commands, if you will. And that would change daily.

As for potential misuse of friendly bots that gain XP from AFK activity, AFAIK all of them are stationary and featured in rather prominent places. I'm pretty sure someone would notice them walking around and shearing fluffies. That would be pretty easy to take care of.

As for bringing CT's auto-heal back, I really don't have any plans right now. We'll see how things go, but if I do, I'll ask for permission. That's what I did the last time.
Last edited by melkior on 01 Apr 2013, 21:19, edited 2 times in total.
User avatar
AnonDuck
TMW Adviser
TMW Adviser
Posts: 653
Joined: 02 Jan 2009, 04:19
Location: Catland

Re: Friendly bots and alternate clients

Post by AnonDuck »

Frost wrote: If a bot is approved for a certain function and the owner of the account agrees that the character will be used for only the purpose of that bot service, I suggest that incidental experience gains should not disqualify a service bot from being approved.
You did yank it a bit offtopic.. I think weather or not such a bot were to be approved would ultimately be up to TMWc, with input from the players in an open discussion. (I'd personally be against that specific example - it'd take money from players that perform such services and hurt the economy)

What I am suggesting is that we have solid requirements for such a bot: Since it performs AFK activity it's behavior must be fully documented. It must be approved. It will not be tolerated to have it perform in any way inconsistent with the documentation submitted for approval, and checks will be made regularly to ensure it's behaving as intended.

I think a discussion of what type of bots could be allowed and approved should wait until some consensus on the above issues are reached. Bot approval requests should be dealt with on a case-by-case basis in public and the pros and cons weighed.
Head of the TMW Illuminati
User avatar
AnonDuck
TMW Adviser
TMW Adviser
Posts: 653
Joined: 02 Jan 2009, 04:19
Location: Catland

Re: Friendly bots and alternate clients

Post by AnonDuck »

Melkior,

I'm not advocating 100% rigid documentation in the case of gainless activity.
Example documentation for CT would be:
The bot stands behind the tree in Hurnscald Square and emotes in response to players. The bot also occasionally responds to player chat. Efforts have been made to ensure it is not annoying or spamming in any way. The intention of this bot is a fun interactive joke and it does not perform any gainful activity such as trading, spell casting, or attacking."
Bam.
Head of the TMW Illuminati
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: Friendly bots and alternate clients

Post by 4144 »

ManaPlus never can complete trade, it can only show questing about trade or show trade window.
All other must do player by hands. This was added to preventing botting (auto trade and other activity)
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Re: Friendly bots and alternate clients

Post by Platyna »

Cody, I didn't left, I was kicked out - this is a major difference. Anyway, back on topic if you put many bots online you may do artificial crown on players online list. Also you can get high level and rich in matter of days. Seems that this became and open source project allowing people who can code to be on top of the game. It speaks for the personality of people doing that, because normal person prefers to play a game using they human abilities as a base to have fun with other players not just to be high level and have all the items.

Regards.
Ablu
Manasource
Manasource
Posts: 288
Joined: 23 Jul 2011, 08:31
Location: Germany

Re: Friendly bots and alternate clients

Post by Ablu »

Platyna: If you would read then you would see that this bots must be allowed by the TMWC. And if i got Frost right any bot which only targets to get a high level/lot of money would not be allowed.

If I see this right this rule is only there to clarify the rules around it. The same unwritten rule was applied before actually (with manamarket, guild bot, and so on). So generally nothing new. It is only better documented now.

Regards
Ablu
User avatar
Big Crunch
TMW Adviser
TMW Adviser
Posts: 1056
Joined: 16 Dec 2009, 22:52

Re: Friendly bots and alternate clients

Post by Big Crunch »

the record, this is not a rule, merely a discussion.

BC
sexy red bearded GM
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: Friendly bots and alternate clients

Post by o11c »

I'm not inclined to open the door to more authorized bots. I think the most important requirement for a bot is that there is a *need*. That is the case for guild and ManaMarket.

I also think any real bot must run on the server itself, which means it must have simple restart/rollback procedures that can be executed by game admins.

Additionally, I have future plans for an authorized bot protocol that can be accessed only on the same machine ... of course, this is a future plan, not a present one.
Former programmer for the TMWA server.
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Re: Friendly bots and alternate clients

Post by Platyna »

cody wrote:
MadCamel wrote:Did writing the TMW<->IRC bridge for Quiz not teach me more of the eA protocol so I could add anti-abuse measures to the server?
I am surprised that you bring that up and I am even more surprised that you think that this is an argument in favor of bots on the main server. Your quiz bot accidently flooded the DNS server, so they kicked us out and the server was not reachable for some time. The reason why account creation in the client is disabled is your account creation bot. Other bots of yours disrupted players. I am sure all that did teach you a lot about the eA protocol.
Ablu wrote:It is only better documented now.
I don't believe that anything is better documented now.
He wrote that bot exclusively to disrupt TMW services when he went into a disagreement with administration. Isn't it funny, that one of most persistent TMW DoSers is now TMW host? I wonder how it will end. Thanks God I have a backup. ;-)

Regards.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: Friendly bots and alternate clients

Post by Nard »

Reference to AFK activity as the only definition of botting, and taking unfair advantage on other players is simply a nonsense:
The introduction of target priorities in manaplus showed it in a brilliant way: the price of 4leafs-clovers dropped by 50% in a few months. It's price is now roughly a tenth than it was 2 years ago. Target priorities were a feature reserved to programmers (though manabot was somewhat "easy" to find and install). It lets regular players rather angry towards the profits that were made unfairly and show how much "enhanced clients can break the economy.
Also we can wonder what kind of meaning it has to record a high score if players have not the same means to compete. What kind of PvP can we have if a player can use features that gives him get a big advantage upon his challenger, (especially but not only) in many players battles?
ManaPlus shops, sorry to correct, were not allowed to trade afk, and trading required player's intervention, so any comparison is not possible. I am not favorable to make it possible. I roughly agree with o11c's opinion, that nothing should be allowed that doesn't result from a key press.
But I can also understand the warriors, which have a very monotonic play, and slow progression that make them think that an automate could do the same while they would be able to chat quietly with friends with no harm to other players. I perfectly remind chats with three of my good friends, once in terra while hunting mogguns in 2010, with the second one in Tulim center while he was playing with another char in gy, the third one on several occasions while exp-ing on various places. These players are very nice and take care of other players, but others pushed the thing over the borderline and prevented other players from having access to certain areas, or made them unable to grind, hours long, such basic things as bat wings. the result was the interdiction of autofollow which is commonly admitted in similar rpgs.
In my opinion the official client should be the only one admitted and it's features used as a reference to define which features are allowed and which are not. The limits could be what you are able to do with this client with your 10 fingers (and nose and one foot for acrobats). Whether 1 or 2 clients are allowed is to be considered too. Anyway if a feature is allowed, it must be allowed to everybody, so if a programmer adds a feature he should be obliged to make it available to TMWC, who agrees or not.
I am not favorable to a healing bot in town: it steals experience to players.
Finally, Manamarket, guild and Auctionbot moreoreless fill lacks of the server. The function that they give should be added to the server in short term (guild code is still around). Why adding several processes and more I/O when we already have lags enough?
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
User avatar
Ledmitz
The Mana World
The Mana World
Posts: 601
Joined: 17 Aug 2011, 22:40
Location: The Mana World
Contact:

Re: Friendly bots and alternate clients

Post by Ledmitz »

:shock: Oh my! A bot convo... my fav! :twisted: and client talk too... awesome. Firstly, although I use ManaPlus now, which IS the official client, I really hope that other clients do not become 'illegal', if you will. That is because I too believe in true open source. I propose that a list of non allowed functions be made, rather than making a particular client 'illegal' to use or only being able to use 'legal' clients, as clients are able to have features taken away, much like it can be added to. This list would change with time as the rules have changed in the past, but as to which functions should be allowed and disallowed would then be the question. However, there is stil another problem... many 'bot' features would be harmless to others. I have argued in the past that the auto attack was a great feature and that as long as no one was afk, no one was hindered in their game. The problem with having the auto attack feature and autofollow banned is that many other automatic things still can occur in the game with a much tougher detection, much like an auto-heal function does. So I am definately more against autoheal and autotrade than I ever was with auto attack... as long as auto attack never worked in PVP.... because auto attack never impeded others in any way. Other player could attack with or without joining a 'bot stack'. If anything, the 'bot stack' helped others... not hurt. Auto follow was nice too when auto attack was enabled, but I do understand what happened there, even though I still have no problem with autofollow. I still do not see how anothers progress can impede my progress. I do not care if others level faster than me, because I do not need to go in a PVP area until I am ready to. AFK activity is the root of the problem, not excluding some possible other client functions, like autoheal. In the case of 2 healers trying to be the fastest to heal others.... the bot wins and this IS taking exp from another player. Also healing yourself is the key to surviving, most of the time.. when you hit that heal is a BIG part of the game.. it's whether you live or die, at times. Therefore, autoheal IS damaging to others... especially other healers. Also... autospell... the one that casts ingrav right when you run out of shots... that is a reload function and is also a big part of gameplay, especially in PVP areas. Not watching you spell status icons could mean certain death in a PVP situation.. so it too is more harmful that other types of bot activity. I tell you what though.. I really miss spellrepeat for making lifestones and powders. That one never hurt anyone at all and does not give you GP or exp. In fact, I believe such a harmless function would be nice to have it included in the official client itself.
As far as autotrading goes, it shold be fine as long as it is not AFK activity. Why does it matter? Because I am allowed to run my PC 24/7 if I want to, whereas someone else may be hindered by anothers household rules an thusly not be allowed to run 24/7 shop. Actually, I would like to see autotrade to be allowed, but to be clear, it is more harmful than any autoattack ever was for the above stated reason.
In short, wouldn't the functions being included in a ruleset, rather than clients be a much better alternative? AND wouldn't an autohealing NPC make more sense than a bot? There's already is one in Tulimshar... why not put one in hurnscald rather than a bot? Why must ManaMarket be a player character bot? Could it not be turned into an NPC? Couldn't guildbot's code be implemented server side, rather than relying on a third party server? I love that bots exist for reasons of creativity and testing. ManaMarket, Gulid and Auctionbot proved very valuable things so far and allowing those types of bots to exist has been a good t hing, but much more professional to add to the server code , since they have become permanent fixtures.

Ledmitz = Ardits = KillerBee = Mystic = Mystical_Servant = Tipsy Skeleton = BoomBoom = Cloak

Post Reply