English
Main Menu
My panel

  • Welcome to The Ultimate Site of Worms Armageddon. Please log in or sign up.
Active chat preview

This box automatically views your last visited chat.

wkKick38

Started by terion, July 17, 2020, 09:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

terion

Quote from: LEGi0N on August 11, 2020, 02:35 PM
Quote from: LEGi0N on July 25, 2020, 06:04 PM
This gives me a "failed to initialize signature scanner" error message when starting WA. I'm using the CD version of 3.8 on Windows 10.



Any ideas on this error?

I've reworked the module to fix signature scanner, add /kick# command and introduce 5s delay between warning message and kick.

LEGi0N

Quote from: terion on August 11, 2020, 05:22 PM
I've reworked the module to fix signature scanner, add /kick# command and introduce 5s delay between warning message and kick.

Beautiful! It works great :) Thanks for your work on this. It's much appreciated.

terion

Thanks for feedback. I hope no additional bugs were introduced with this version.

@GrO, you only have 64-bit version of 2015-2019 redistributable installed. Install 32-bit (x86) version, as I suggested in my previous post.

GrO

Quote from: terion on August 11, 2020, 06:13 PM
Thanks for feedback. I hope no additional bugs were introduced with this version.

@GrO, you only have 64-bit version of 2015-2019 redistributable installed. Install 32-bit (x86) version, as I suggested in my previous post.
...oh, sorry then, I'll return with some feedback, after I test it

Quote from: GrO on September 07, 2020, 01:50 PM...even the Light needs a background, or some dirt, to become visible... ...

Muzer

Quote from: terion on August 11, 2020, 05:22 PM
Quote from: LEGi0N on August 11, 2020, 02:35 PM
Quote from: LEGi0N on July 25, 2020, 06:04 PM
This gives me a "failed to initialize signature scanner" error message when starting WA. I'm using the CD version of 3.8 on Windows 10.



Any ideas on this error?

I've reworked the module to fix signature scanner, add /kick# command and introduce 5s delay between warning message and kick.

Wonderful, thanks for adding the delay, it will help newbies at least to know why they've been disconnected, rather than them just assuming the game's networking is flaky :)

GrO

#35
Quote from: Muzer on August 12, 2020, 06:59 PM
Wonderful, thanks for adding the delay, it will help newbies at least to know why they've been disconnected, rather than them just assuming the game's networking is flaky :)
...one of the things I've learnt about people is they'll understand the disconnect easly, while they know they've abused the game, and they see there's no re-host made after the supposed crash...

...why even bother about abusers, when they don't care, aside all of that it's still just a game, the game is for Fun and everyone who tries to break it should be separated as soon as possible - don't you think that way?

Quote from: GrO on September 07, 2020, 01:50 PM...even the Light needs a background, or some dirt, to become visible... ...

GrO

#36
...There're situations when you need to kick someone immediately, not after 5 seconds, because sometimes you give another chance for the 'cower', and you're observing his next move - in example the 'shopper', and you see he's trying to cow again in his new turn, then the only senseful thing is to reject him until he'll be able to cow again - I know that, because I had such situations many, many times and 5 second delay would just let the abuser to cow again......

Quote from: GrO on September 07, 2020, 01:50 PM...even the Light needs a background, or some dirt, to become visible... ...

DENnis

#37
Thank you!

With "vc_redist.x86.exe" https://support.microsoft.com/de-de/help/2977003/the-latest-supported-visual-c-downloads it is working. Note: Pressing Fx for players name and replace msg with kick + remove blank after players name.



GrO

Quote from: DENnis on August 13, 2020, 02:21 AM
Note: Pressing Fx for players name and replace msg with kick + remove blank after players name.
Quote from: terion on August 11, 2020, 05:22 PM
I've reworked the module to fix signature scanner, add /kick# command and introduce 5s delay between warning message and kick.

Quote from: GrO on September 07, 2020, 01:50 PM...even the Light needs a background, or some dirt, to become visible... ...

Bl4st3r

#39
Now it'll be easier to kick toxic people ^^

Bl4st3r

Quote from: terion on July 17, 2020, 09:35 PM
a kick module for wa 3.8
usage: /kick nickname

LoadLibrary failed: Error 0000007E, what to do now? i have all the sources and dll file in my directory

GrO

Quote from: Bl4st3r on August 21, 2020, 09:45 AM
LoadLibrary failed: Error 0000007E, what to do now? i have all the sources and dll file in my directory
Quote from: terion on August 11, 2020, 10:33 AM
your pc is missing Visual C++ Redistributable Runtimes (2015-2019) - here is a link to all-in-one installer: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
btw, WA's warning message should be made more clear about the cause of error 0x7E to avoid confusion. ideally, it should list all missing DLL dependencies and suggest to try installing msvc runtimes, madshi's madCodeHook. If you ever stumble over similar issue, try running Dependency Walker https://www.dependencywalker.com/ to identify missing libraries.

Quote from: GrO on September 07, 2020, 01:50 PM...even the Light needs a background, or some dirt, to become visible... ...

CyberShadow

Quote from: terion on August 11, 2020, 10:33 AMbtw, WA's warning message should be made more clear about the cause of error 0x7E to avoid confusion.
The error message shows:
1. The module that failed to load
2. The exact function call that failed
3. The numeric error code reported by your operating system
4. The localized error message for said error code, as provided by the operating system
5. A most likely explanation of the error (also localized to your language), which is true for this particular case
6. Advice to the user, which is again actually relevant here

How could it possibly be even clearer? Or do you really expect the game to implement a Windows PE parser to scan the dependencies of every module it loads? And all that, just because you 1) chose to use the CRT, 2) chose to link to the CRT dynamically, 3) decided to not include the runtime with your module, and 4) failed to communicate to your users what the installation procedure and dependencies are?

I think such an attitude gives a bad name to the entire WormKit authors community, and it would be good to see less of that.

BTW, I don't understand why you use CreateToolhelp32Snapshot / ReadProcessMemory etc. You know that WormKit modules run within the same process as the game itself, right? You can access the memory directly. And, if you really need a handle for some reason (soft fails on invalid addresses?), you can use GetCurrentProcess instead of tlhelp32.

terion

Quote from: CyberShadow on August 22, 2020, 07:15 AM
The error message shows:
1. The module that failed to load
2. The exact function call that failed
3. The numeric error code reported by your operating system
4. The localized error message for said error code, as provided by the operating system
5. A most likely explanation of the error (also localized to your language), which is true for this particular case
6. Advice to the user, which is again actually relevant here
Yes, this message is very verbose, but it would be nice to cover a special case for LoadLibraryA error 0x7E that suggests that some DLL is missing and maybe try installing runtimes. As seen in this thread, people are still confused about this error message.

Quote from: CyberShadow on August 22, 2020, 07:15 AM
And all that, just because you 1) chose to use the CRT, 2) chose to link to the CRT dynamically, 3) decided to not include the runtime with your module, and 4) failed to communicate to your users what the installation procedure and dependencies are?
I didn't give much thought to it - I just assumed that everyone has msvc runtimes installed.

Quote from: CyberShadow on August 22, 2020, 07:15 AM
BTW, I don't understand why you use CreateToolhelp32Snapshot / ReadProcessMemory etc. You know that WormKit modules run within the same process as the game itself, right? You can access the memory directly. And, if you really need a handle for some reason (soft fails on invalid addresses?), you can use GetCurrentProcess instead of tlhelp32.
This signature scanner is written by Zer0Mem0ry and available at https://github.com/Zer0Mem0ry/SignatureScanner that just happened to be the first result on google when I needed one. I agree that this scanner is suboptimal for this use case (and also leaked memory). I've patched it a little bit to work good enough to make the required hooks.

Quote from: CyberShadow on August 22, 2020, 07:15 AM
I think such an attitude gives a bad name to the entire WormKit authors community, and it would be good to see less of that.
I'm sorry for giving a bad name to the entire WormKit authors community by releasing open source modules for WA 3.8.

CyberShadow

Quote from: terion on August 22, 2020, 07:37 AMYes, this message is very verbose, but it would be nice to cover a special case for LoadLibraryA error 0x7E that suggests that some DLL is missing
Though it does not mention "DLL" explicitly, it already does, twice ("module could not be found" and "files required by the module are present").

The same error message could be caused by a reason different than that a .dll file is not found. For instance, I believe that if you link to WA.exe (in order to e.g. use SetHostingProxyAddressAndPort), but the user's game executable is named something else, it would cause the same message.

Quote from: terion on August 22, 2020, 07:37 AMand maybe try installing runtimes.
Depending on how specific such a message would be, it would need to either make an assumption of 1) the module's programming language, and 2) which component is exactly missing; otherwise, it would still be too vague to be useful.

Quote from: terion on August 22, 2020, 07:37 AMAs seen in this thread, people are still confused about this error message.
Yes. So, please try to not release software which causes confusing error messages.

Quote from: terion on August 22, 2020, 07:37 AMI didn't give much thought to it - I just assumed that everyone has msvc runtimes installed.
OK, an honest mistake. So, surely the next step would be to address this by improving the documentation, or changing the installation archive / process to avoid this problem, instead of blaming the game and expecting the users to figure it out on their own?

Quote from: terion on August 22, 2020, 07:37 AMThis signature scanner is written by Zer0Mem0ry and available at https://github.com/Zer0Mem0ry/SignatureScanner that just happened to be the first result on google when I needed one. I agree that this scanner is suboptimal for this use case (and also leaked memory). I've patched it a little bit to work good enough to make the required hooks.
You may observe a non-negligible performance gain by avoiding the WinAPI overhead.

Quote from: terion on August 22, 2020, 07:37 AMI'm sorry for giving a bad name to the entire WormKit authors community by releasing open source modules for WA 3.8.
That's not where the problem lies. Shoddy workmanship and then refusing to accept responsibility for the problem is.