Enable automatic shop trade completion on Manaplus

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
Relm
Novice
Novice
Posts: 79
Joined: 06 Oct 2013, 14:35

Enable automatic shop trade completion on Manaplus

Post by Relm »

In the past, I remember it was prohibited to automatically complete trades with the Manaplus shop feature.

Now, it seems to be the consensus that automatically completing such trades is allowed.

That's fine.

However, there appears to be no option in the Manaplus client to automatically complete trades in the player's shop - "Accept sell/buy requests" and "Enable shop mode" options do NOT do this.

Liviobot and Manamarket and Shoppon and probably others seem to be using software which is external to the manaplus client in order to trade automatically. However, this software does not run on Windows machines.

An auction system would be an ideal solution, but seems to be clearly outside the scope of effort of what our developers are willing to do. However, the simplest and easiest option would seem to be to enable automatic trading within the Manaplus client itself. This was not done previously, not because it would be difficult, but because it was prohibited. It may be a relatively easy and effective fix for those who are able to compile the manaplus client.

Also, Windows machines, for some reason, disable sound of a manaplus instance when another instance of it is on "focus". Windows has no problem running simultaneous sound in multiple instances of other applications, as tested with Brave browser. This is related in that not hearing sounds prevents also a manual shop alt, as the player is not notified when a customer attempts to trade.

I believe that TMW should be multi-platform, and not unnecessarily reward technological prowess.
User avatar
Livio
Warrior
Warrior
Posts: 312
Joined: 26 Feb 2019, 19:08

Re: Enable automatic shop trade completion on Manaplus

Post by Livio »

Relm wrote: 10 Jun 2022, 22:32 Liviobot and Manamarket and Shoppon and probably others seem to be using software which is external to the manaplus client in order to trade automatically. However, this software does not run on Windows machines.
Shoppon and Liviobot run under same software (when it comes to shop, some small differences may exists). ManaMarket is another software and compared to ManaChat is different as it allows more than one player to use bot shop selling features.
Relm wrote: 10 Jun 2022, 22:32 Also, Windows machines, for some reason, disable sound of a manaplus instance when another instance of it is on "focus". Windows has no problem running simultaneous sound in multiple instances of other applications, as tested with Brave browser.
I guess many OS don't have problems playing sounds from more than one application instance at time. I don't know for sure but I believe it may be a M+ feature when you use more than one client at time in order not to get same sounds for common notifications.
Spoiler:
Brave? Why?
Relm wrote: 10 Jun 2022, 22:32 This is related in that not hearing sounds prevents also a manual shop alt, as the player is not notified when a customer attempts to trade.
Not hearing sounds probably prevented some people to save themselves from GMs botchecks as well. However it may happen if the tab of interest is selected even with client minimized. At least on my PC.
Relm wrote: 10 Jun 2022, 22:32 I believe that TMW should be multi-platform, and not unnecessarily reward technological prowess.
Diving into M+ source code seriously reshapes your beliefs as free software development is usually limited by technological limitations and developers' time, knowledge and resources.
ManaPlus is written in C++ and main developer is long gone so probably shops are the latest of development priorities but I'm pretty sure that merge requests and practical means of contributions are welcome.

Personally speaking, bot development wasn't that painless despite ManaChat is written in Python. Luckily enough I've made my fork of ManaChat that seems to be running well enough at least for the few things Liviobot does in game. It lacks a working GUI and it's never been tested on a mobile OS so the only thing I know is that runs under Debian/Devuan GNU/Linux and probably its derivates. So for a working shop a PC/server/VM/embedded board is probably required.
There's no utility to configure shop list itself so it must be compiled by hand with related game server IDs.
ManaChat shop bots probably will not run under other game servers than TMW Legacy.
User avatar
jesusalva
Administrator
Administrator
Posts: 1008
Joined: 14 Nov 2016, 22:20
Location: Brazil
Contact:

Re: Enable automatic shop trade completion on Manaplus

Post by jesusalva »

Livio wrote: 10 Jun 2022, 23:03 ManaChat shop bots probably will not run under other game servers than TMW Legacy.
Actually, the new client we're developing has the networking library external to the game client itself. The networking library is coded in Rust and then exported to Shared Objects or Dynamic Loadable Libraries (.so and .dll, respectively).

This means that going forward, you could just plug the network library in your program and write it in any language you want, unlike guildbot (which reuses parts from the original mana client) or ManaMarket (which has a bloated networking library that even porting to Python3 caused issues in the end of the day).

For the record, the new client and networking library is for Evol2 servers only ─ Legacy and TMW-Br are the last tmwAthena servers, and with Legacy scheduled to be ported prior to Christmas, it makes no sense wasting our extremely limited developer time with tmwa protocol.

ManaPlus is not going to die, but currently, we have our hands full just keeping it oiled and running :wink:
Side Note: One of the side goals of this new client is to precise exactly where server and client disagree.
We do have a general idea of where the issue is (their pathfinders diverge, ManaPlus method of sending movement packets isn't optimized, and server disallows to attack while moving), but not so good idea of how to fix that.
For these specific tasks, the devs which cannot code C/C++/Rust have offered small amounts of money (a dozen dollars or so) or to add custom monsters/hats/quests as well.
Jesusalva (aka. Jesusaves)
Donate to the project! ─ (Note: If you want to support me instead, Buy me a coffee!)
Relm
Novice
Novice
Posts: 79
Joined: 06 Oct 2013, 14:35

Re: Enable automatic shop trade completion on Manaplus

Post by Relm »

Livio wrote: 10 Jun 2022, 23:03 I guess many OS don't have problems playing sounds from more than one application instance at time. I don't know for sure but I believe it may be a M+ feature when you use more than one client at time in order not to get same sounds for common notifications.
Spoiler:
Brave? Why?
Windows does not have any such problem as evidenced by my testing. It is the way Manaplus interacts with Windows that causes the issue. The application seems to interact with unix systems differently, so the issue is only caused for Windows users.

Brave is the browser I usually use because it has better default privacy, performance, and security than Firefox.

Livio wrote: 10 Jun 2022, 23:03 Not hearing sounds probably prevented some people to save themselves from GMs botchecks as well. However it may happen if the tab of interest is selected even with client minimized. At least on my PC.
“Security through obscurity is no security at all.”

Need I remind you that this client is supposed to be GPL software? The only reason botters haven’t come around and forked the client to suit their needs is because the game is half dead and developing with five hundred undocumented dependencies that don’t work outside linux anyway is a pain in the butt for them too. Don’t get me wrong, I hate botters too, but making the client work against the interest of the user is not a sustainable way forward in this project.
User avatar
jesusalva
Administrator
Administrator
Posts: 1008
Joined: 14 Nov 2016, 22:20
Location: Brazil
Contact:

Re: Enable automatic shop trade completion on Manaplus

Post by jesusalva »

Actually, there used to be a forked client specifically made for botting. I forgot its name.

Died due being unmaintainable. Botters now use autoclickers, xdotools and others to bot. Some even use log parsing rather than bothering with M+ source code.

Last time I saw a bot based on M+ was... 2014? Not good with dates.
Jesusalva (aka. Jesusaves)
Donate to the project! ─ (Note: If you want to support me instead, Buy me a coffee!)
User avatar
WildX
Forum Admin
Forum Admin
Posts: 1824
Joined: 07 Aug 2010, 14:13
Location: United Kingdom
Contact:

Re: Enable automatic shop trade completion on Manaplus

Post by WildX »

Relm wrote: 11 Jun 2022, 05:51 Need I remind you that this client is supposed to be GPL software? The only reason botters haven’t come around and forked the client to suit their needs is because the game is half dead and developing with five hundred undocumented dependencies that don’t work outside linux anyway is a pain in the butt for them too.
No, there's no bot clients because there are good GMs that ban bots so making a bot client is wasted effort.
User avatar
Livio
Warrior
Warrior
Posts: 312
Joined: 26 Feb 2019, 19:08

Re: Enable automatic shop trade completion on Manaplus

Post by Livio »

Relm wrote: 11 Jun 2022, 05:51 Windows does not have any such problem as evidenced by my testing.
You are only evidencing your opinion so far. I believe that fixing this kind of issues pretty requires recompiling and debugging under the OS you are using and than lots of patience.
Relm wrote: 11 Jun 2022, 05:51 It is the way Manaplus interacts with Windows that causes the issue. The application seems to interact with unix systems differently, so the issue is only caused for Windows users.
You tested macOS too?
Relm wrote: 11 Jun 2022, 05:51 “Security through obscurity is no security at all.”
Found something obscure in TMW?
Relm wrote: 11 Jun 2022, 05:51 Need I remind you that this client is supposed to be GPL software?
Software licenses don't necessarily imply developers support. Probably lifetime support isn't included with free software (as in freedom).
Relm wrote: 11 Jun 2022, 05:51 The only reason botters haven’t come around and forked the client to suit their needs is because the game is half dead and developing with five hundred undocumented dependencies that don’t work outside linux anyway is a pain in the butt for them too.
Well, it was a pain to me even making it running under Debian. I never solved problems of GUI version. If TMW is half dead, ManaChat is 95% dead since it was left abandoned for years until I forked it and "fixed" simple.py and the rest. Then I left it as it was for months.
Relm wrote: 11 Jun 2022, 05:51 Don’t get me wrong, I hate botters too, but making the client work against the interest of the user is not a sustainable way forward in this project.
It's not a good thing to hate people only for their behavior. I try to understand their reasons behind it before taking actions. Botting is not always a bad thing or an illegal one and not every botter is an evil cheater.

I believe that developers aren't working against the interest of the users: they are just sharing their spare time to make what they can, in the limits of their knowledge, for this game community.
Post Reply