Markets rant: On the facilitation of trade

Got something on your mind about the project? This is the correct place for that.


Forum rules

This forum is for feature requests, content changes additions, anything not a Bug in the software.
Please report all bugs on the Support Forums

Post Reply
ThinkSome
Moubootaur Legends
Moubootaur Legends
Posts: 81
Joined: 02 Apr 2023, 16:47

Markets rant: On the facilitation of trade

Post by ThinkSome »

There are multiple issues in TMW Classic that make trade needlessly difficult.
In this post I will discuss some of them and provide corrective ideas. (MM = ManaMarket bot, M+ = ManaPlus/ManaVerse)

  • 1. The inability for player shops to automatically complete trades. (The Shop button in inventory-F3)

    viewtopic.php?t=21396
    https://wiki.themanaworld.org/index.php/Game_Rules (AFK Bot)

    This is both a technical and a social issue. The "no AFK bot" rule needs a clear exemption for trade bots.
    Until that is done, there will be little interest to add this functionality to M+.

  • 2. Players require special permission to run their own shop bots?

    https://wiki.themanaworld.org/index.php ... endly_Bots

    Friendly bots must be authorized by The Mana World Committee before they may connect to the server

    While I don't believe dozens of trade bots to be scalable (who wants to
    talk to dozens of bots on a daily basis to check which one has the item you want?),
    I do think that it would be a good stopgap measure to allow them. I propose that,
    instead of "TMWC autorisation" the rule be changed to
    "You must announce your bot on the forum if you plan to run it for more than one day".

    A possible scalability solution would be for all such bots to announce their items to
    a central bot, which players could query for items and bot names & locations.
    Either that or a dedicated market NPC, see below.

  • 3. Player-run shop bots are throttled into oblivion.

    Anyone who has ever purchased anything from Lya. knows what I am talking about.
    It takes over a minute to complete a trade. This is unacceptable.

    Please increase flood limits. This can be done either manually for every bot
    that is officially announced or globally for all players/clients.

  • 4. There is no setup possible for automatic item-for-item exchanges, bypassing the money system.

    There have been multiple times, both on forums (viewforum.php?f=14)
    and in-game, that I've seen players wanting to trade certain items for other similarly sought-for items,
    without having to attach monetary value to any of them.

    Example: trading bug legs for lifestones without paying gp for the conversion service
    (e.g. magic xp itself being payment). I have done such an exchange. Or trading between illia rewards.

    Possible solutions: dedicated market NPC, implementing this in M+, implementing this in MM.

  • 5. Players are only allowed one slot in ManaMarket

    I believe this to be a technical issue with the number of inventory slots.

    However, this limitation means players will prioritise selling frequently sought-after items,
    ignoring common items that people would sometimes buy for quests or other uses.
    Additionally, MM seems to only sell about 10 items at a time. Thus there is still
    90 item-slots of head room before it becomes an issue.

    Solution: dedicated market NPC, stopgap measure below.

  • 6. Players have to ask for special approval for MM

    I can only guess what prompted this requirement, however, I would suggest
    that an experiment be made with auto-granting seller permission to anyone over level 50
    or that has completed a certain quest. This would indirectly help with the "one slot only"
    issues as very active players would undoubtedly have multiple qualifying accounts.

  • 7. At MM, it is not possible to set-up automatic buys

    Example: you want 25 red scorpion stingers for a quest, but no-one is selling those.
    You would like to put up a listing "buying 25 stingers for 100gp each" and wait.

    Solution: implement.

  • 8.At MM, there is no way to adjust price of an unsold item

    The only way to adjust price seems to be:
    1) Walk to MM
    2) !getback <complete trade>
    3) !add .. <complete trade>
    4) Walk back.

    Solution: a command should be made available, eg. !relist <id> <new price>

A possible solution to most of this would be a dedicated market NPC/bot(GM) with SQL instead of in-game inventory backing:

Code: Select all

<owner:int32>,<expire time:32>,<sale_id:16>,<sale_am:16>,<sale_gp:32>,<buy_id:16>,<buy_am:16>,<buy_gp:32>

This form would allow players to list one item and/or money in exchange for one other item and/or money.

The NPC/bot would take in your items via trade, delete them and store a record in database.
On init or any change it would regenerate the shop item list. On purchase it would createitems
and delete them from database, adding a new entry to trade completion database/log.

This should be possible to implement in Moubootaur Legends at least. I don't know enough about
Classic's server to tell whether it is possible or not.

With some waste of space, it would also be possible to widen the above table to support up to
N:N+gp item exchanges.

User avatar
Livio
Warrior
Warrior
Posts: 349
Joined: 26 Feb 2019, 19:08

Re: Markets rant: On the facilitation of trade

Post by Livio »

ThinkSome wrote: 15 Jul 2023, 19:06

There are multiple issues in TMW Classic that make trade needlessly difficult.

And it's going to be hard to get rid of them.
ManaPlus got some sort of shop mode. Something very easy to setup but still it requires a player to be online (not AFK) and must carry merchandise.
Trade requests are some sort of special messages that are subjected to the automatic flood/profanity auto-temp ban so impantient people risk getting autobanned for spam for one hour. Not a bug "per se" but a side effect of chat moderation.
To have a shop a bot is required. Bot are technically same as player but managed with other clients such ManaChat that got developed by Travolta and then tweaked by me.
I took that old abandoned project just to experiment and have fun rather than simplifying trades so expect both little support and success with it.

ThinkSome wrote: 15 Jul 2023, 19:06

In this post I will discuss some of them and provide corrective ideas. (MM = ManaMarket bot, M+ = ManaPlus/ManaVerse)

  • 1. The inability for player shops to automatically complete trades. (The Shop button in inventory-F3)

That would be nice for stationary players but I don't know if backfires for players busy in a fight.

ThinkSome wrote: 15 Jul 2023, 19:06

viewtopic.php?t=21396
https://wiki.themanaworld.org/index.php/Game_Rules (AFK Bot)

This is both a technical and a social issue. The "no AFK bot" rule needs a clear exemption for trade bots.
Until that is done, there will be little interest to add this functionality to M+.

Technically speaking, in ManaChat doesn't exist a "trade bot". That client can make different kind of bots by enabling some plugins for them. My experimental bot (Liviobot) has never been a trade bot in the first place but managed to be some sort of puppet attacking whatever players shouted at him. It got even an experimental centralized chat.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]2. Players require special permission to run their own shop bots?

https://wiki.themanaworld.org/index.php ... endly_Bots

Friendly bots must be authorized by The Mana World Committee before they may connect to the server

While I don't believe dozens of trade bots to be scalable (who wants to
talk to dozens of bots on a daily basis to check which one has the item you want?),
I do think that it would be a good stopgap measure to allow them. I propose that,
instead of "TMWC autorisation" the rule be changed to
"You must announce your bot on the forum if you plan to run it for more than one day".

A possible scalability solution would be for all such bots to announce their items to
a central bot, which players could query for items and bot names & locations.
Either that or a dedicated market NPC, see below.

Bots left unattended or affected by security issues may represent a troublesome amount of load on server. I can't tell you better about this but I got warned not to enable autobattle plugin and not spam general chat.
There's no economic authority in TMW that regulates prices in shops.
I doubt that developing a central market can actually be useful. Roaming around the maps to search for the best bargain was always done even when there were no shop bots.
Not even NPCs are regulated when it comes to prices.
An attempted solution was to move ManaMarket in Tulimshar and tell players not to place shop bots in Hurnscald but didn't helped at all in my opinion.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]3. Player-run shop bots are throttled into oblivion.

Anyone who has ever purchased anything from Lya. knows what I am talking about.
It takes over a minute to complete a trade. This is unacceptable.

Please increase flood limits. This can be done either manually for every bot
that is officially announced or globally for all players/clients.

ManaChat bots are throttled to wait 10 seconds between an interaction and another. Shop bots should not flood or attract unwanted GM's attention. Another shop bot got ManaChat running as well but with wait time removed. I've managed to make it temp banned by repeatedly clicking on buttons. I told owner about it and invited to restore wait time (or at least reduce it a bit) and I invite anyone of you not to bash buttons while trading since autoban is meant for players.
ManaChat bots can even warn you about it.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]4. There is no setup possible for automatic item-for-item exchanges, bypassing the money system.

There have been multiple times, both on forums (viewforum.php?f=14)
and in-game, that I've seen players wanting to trade certain items for other similarly sought-for items,
without having to attach monetary value to any of them.

Example: trading bug legs for lifestones without paying gp for the conversion service
(e.g. magic xp itself being payment). I have done such an exchange. Or trading between illia rewards.

Possible solutions: dedicated market NPC, implementing this in M+, implementing this in MM.

That could be actually possible for bots but requires to change or add some plugins.
Players can still trade items for items while not moving money at all.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]5. Players are only allowed one slot in ManaMarket

I believe this to be a technical issue with the number of inventory slots.

However, this limitation means players will prioritise selling frequently sought-after items,
ignoring common items that people would sometimes buy for quests or other uses.
Additionally, MM seems to only sell about 10 items at a time. Thus there is still
90 item-slots of head room before it becomes an issue.

Solution: dedicated market NPC, stopgap measure below.

Not only inventory slot issues but weight issue as well.
To overcome this, more shop bots appeared. During my very first times here there were Dragonstar's bots that sold dyed towels and quest items. Many of us were sorry since they left.
Players can still asking nicely someone to help them with items and quests. There are many high-level players with lots of quest items.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]6. Players have to ask for special approval for MM

I can only guess what prompted this requirement, however, I would suggest
that an experiment be made with auto-granting seller permission to anyone over level 50
or that has completed a certain quest. This would indirectly help with the "one slot only"
issues as very active players would undoubtedly have multiple qualifying accounts.

Looks like that bots can't read players' levels. I don't know why. Probably ManaMarket can't read quest variables as they are stored inside the server and probably are hidden to the clients.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]7. At MM, it is not possible to set-up automatic buys

Example: you want 25 red scorpion stingers for a quest, but no-one is selling those.
You would like to put up a listing "buying 25 stingers for 100gp each" and wait.

Solution: implement.

I once imagined implementing these kind of quests in Liviobot to help low-level players making some easy money but I didn't figure out how to actually implement this in ManaChat.

ThinkSome wrote: 15 Jul 2023, 19:06

[*]8.At MM, there is no way to adjust price of an unsold item

The only way to adjust price seems to be:
1) Walk to MM
2) !getback <complete trade>
3) !add .. <complete trade>
4) Walk back.

Solution: a command should be made available, eg. !relist <id> <new price>
[/list]

A possible solution to most of this would be a dedicated market NPC/bot(GM) with SQL instead of in-game inventory backing:

Code: Select all

<owner:int32>,<expire time:32>,<sale_id:16>,<sale_am:16>,<sale_gp:32>,<buy_id:16>,<buy_am:16>,<buy_gp:32>

This form would allow players to list one item and/or money in exchange for one other item and/or money.

The NPC/bot would take in your items via trade, delete them and store a record in database.
On init or any change it would regenerate the shop item list. On purchase it would createitems
and delete them from database, adding a new entry to trade completion database/log.

This should be possible to implement in Moubootaur Legends at least. I don't know enough about
Classic's server to tell whether it is possible or not.

With some waste of space, it would also be possible to widen the above table to support up to
N:N+gp item exchanges.

Back in the day I doubt that servers got enough space for such things since quest variables were used as flags in 8 bit variables. I guess that server maintainers can tell you better.

ThinkSome
Moubootaur Legends
Moubootaur Legends
Posts: 81
Joined: 02 Apr 2023, 16:47

Re: Markets rant: On the facilitation of trade

Post by ThinkSome »

To have a shop a bot is required

Unacceptable IMO.

That would be nice for stationary players but I don't know if backfires for players busy in a fight.

Getting stocked out of arrows during a fight as an archer would be amusing.

Bots left unattended or affected by security issues may represent a troublesome amount of load on server.

Admins/GMs can still kick/temp ban as needed. Nothing changes.

Players can still trade items for items while not moving money at all.

Manually, yeah. Unacceptable.

Players can still asking nicely someone to help them with items and quests.

Yes, but you risk hitting the "don't be annoying/begging rule". Also, many are shy or don't speak english well enough to effectively communicate.

Looks like that bots can't read players' levels. I don't know why

M+ can read them (MISC->Show player levels, they appear in online list)

I once imagined implementing these kind of quests in Liviobot to help low-level players making some easy money but I didn't figure out how to actually implement this in ManaChat.

Reverse sale... player gives item, bot gives money.

Back in the day I doubt that servers got enough space for such things since quest variables were used as flags in 8 bit variables. I guess that server maintainers can tell you better.

Nowadays, with terrabyte SSDs and TMW lacking the first M in MMORPG.. no problems I think.

User avatar
Livio
Warrior
Warrior
Posts: 349
Joined: 26 Feb 2019, 19:08

Re: Markets rant: On the facilitation of trade

Post by Livio »

ThinkSome wrote: 15 Jul 2023, 22:14

To have a shop a bot is required

Unacceptable IMO.

Yeah, it sucks. Feels like only people with some tech expertise and good trading skills got something more in game.

ThinkSome wrote: 15 Jul 2023, 22:14

That would be nice for stationary players but I don't know if backfires for players busy in a fight.

Getting stocked out of arrows during a fight as an archer would be amusing.

I already die in Candor and crypt without trading players around. :lol:

ThinkSome wrote: 15 Jul 2023, 22:14

Bots left unattended or affected by security issues may represent a troublesome amount of load on server.

Admins/GMs can still kick/temp ban as needed. Nothing changes.

I guess that we still got not enough GMs to manage game 24/7.

ThinkSome wrote: 15 Jul 2023, 22:14

Players can still asking nicely someone to help them with items and quests.

Yes, but you risk hitting the "don't be annoying/begging rule". Also, many are shy or don't speak english well enough to effectively communicate.

It depends on players. If you are a bad person you better come out and get nailed before you level too much IMHO. If you are shy why you connect to the largest network humans ever made to play alone? Install a local server and be your own god of yourself so nobody can hurt you. If it feels bad to be shy talk to people so you will not to be shy anymore.
If you aren't good at speaking a language you can always communicate in a way or another.
I'm sure that we are the most patient and welcoming game communities around.

ThinkSome wrote: 15 Jul 2023, 22:14

Looks like that bots can't read players' levels. I don't know why

M+ can read them (MISC->Show player levels, they appear in online list)

I tried from ManaChat instead. Didn't found out how to get it from the libraries.

ThinkSome wrote: 15 Jul 2023, 22:14

I once imagined implementing these kind of quests in Liviobot to help low-level players making some easy money but I didn't figure out how to actually implement this in ManaChat.

Reverse sale... player gives item, bot gives money.

I tried to make the bot sell and buy at same price with just 1% fee. It proved to be a failure. :(
And typing manually item IDs and prices is quite a pain.

ThinkSome wrote: 15 Jul 2023, 22:14

Back in the day I doubt that servers got enough space for such things since quest variables were used as flags in 8 bit variables. I guess that server maintainers can tell you better.

Nowadays, with terrabyte SSDs and TMW lacking the first M in MMORPG.. no problems I think.

TMW Classic still relies on a software that was deemed deprecated more than a decade ago.
It's something kept together with duck tape and steel wire in my opinion.
I didn't know where to put my hands and gave up.

User avatar
jesusalva
Moubootaur Legends
Moubootaur Legends
Posts: 1438
Joined: 14 Nov 2016, 22:20
Location: Brazil
Contact:

Re: Markets rant: On the facilitation of trade

Post by jesusalva »

Points 2 and 3 are the same. You don't need TMWT authorization to connect a bot, you do need TMWT authorization if you plan in e.g. bypassing the throttle. Bots also have some "expected guidelines". See also the pin, it is what Livio wrote; not a rule (the rule is 'case by case'), but decent~ish guidelines.

Points 5 and 6 are also the same. This is TMWA, I can't just run a SQL query and expect ManaMarket to get infinite inventory slots, nor can I dispatch items via rodex when their sell time expires. Whenever it is getting too full of garbage, I must login with jak1 on the account and get rid of the unsold items (and edit the XML files and oh the pain).

In theory, you can obtain an authorization from GM Team for both getting your bot "authorized" (i.e. exempted from flood limits) and for getting multiple slots in ManaMarket, but the later is extremely difficult to be approved (I only recall one extension recently, and it was to gumi ─ a server admin who could also clean up MM himself if needed).

Jesusalva (aka. Jesusaves)
Donate to the project! ─ (Note: If you want to support me instead, Buy me a coffee!)

Former system administrator, project lead and developer.
Do not contact me regarding The Mana World inquiries.

Post Reply