Forums
March 29, 2024, 06:44 AM

Author Topic: wkKick38  (Read 10371 times)

0 Members and 1 Guest are viewing this topic.

Offline terion

Re: wkKick38
« Reply #30 on: August 11, 2020, 05:22 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.

Offline LEGi0N

Re: wkKick38
« Reply #31 on: August 11, 2020, 05:35 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.

Offline terion

Re: wkKick38
« Reply #32 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.

Offline GrO

  • 🌞🌞🌞🌞♾️🌞🌞🌞🌞
  • Jr. Member
  • **

  • Poland Poland
  • Posts: 84
  • ⚘🌹🌷 🌿 🌻 🍀 🌷🌹⚘
    • View Profile
    • 440Hz >>> 432Hz
Re: wkKick38
« Reply #33 on: August 11, 2020, 09:45 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

...even the Light needs a background, or some dirt, to become visible... ...

Offline Muzer

Re: wkKick38
« Reply #34 on: August 12, 2020, 06:59 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 :)

Offline GrO

  • 🌞🌞🌞🌞♾️🌞🌞🌞🌞
  • Jr. Member
  • **

  • Poland Poland
  • Posts: 84
  • ⚘🌹🌷 🌿 🌻 🍀 🌷🌹⚘
    • View Profile
    • 440Hz >>> 432Hz
Re: wkKick38
« Reply #35 on: August 12, 2020, 07:30 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?
« Last Edit: August 12, 2020, 07:34 PM by GrO »

...even the Light needs a background, or some dirt, to become visible... ...

Offline GrO

  • 🌞🌞🌞🌞♾️🌞🌞🌞🌞
  • Jr. Member
  • **

  • Poland Poland
  • Posts: 84
  • ⚘🌹🌷 🌿 🌻 🍀 🌷🌹⚘
    • View Profile
    • 440Hz >>> 432Hz
Re: wkKick38
« Reply #36 on: August 12, 2020, 07:44 PM »
...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......
« Last Edit: August 12, 2020, 08:05 PM by GrO »

...even the Light needs a background, or some dirt, to become visible... ...

Offline DENnis

Re: wkKick38
« Reply #37 on: August 13, 2020, 02:21 AM »
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.
« Last Edit: August 13, 2020, 02:25 AM by DENnis »



Offline GrO

  • 🌞🌞🌞🌞♾️🌞🌞🌞🌞
  • Jr. Member
  • **

  • Poland Poland
  • Posts: 84
  • ⚘🌹🌷 🌿 🌻 🍀 🌷🌹⚘
    • View Profile
    • 440Hz >>> 432Hz
Re: wkKick38
« Reply #38 on: August 13, 2020, 07:49 AM »
Note: Pressing Fx for players name and replace msg with kick + remove blank after players name.
I've reworked the module to fix signature scanner, add /kick# command and introduce 5s delay between warning message and kick.

...even the Light needs a background, or some dirt, to become visible... ...

Offline Bl4st3r

Re: wkKick38
« Reply #39 on: August 21, 2020, 09:43 AM »
Now it'll be easier to kick toxic people ^^
« Last Edit: August 21, 2020, 09:47 AM by Bl4st3r »

Offline Bl4st3r

Re: wkKick38
« Reply #40 on: August 21, 2020, 09:45 AM »
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

Offline GrO

  • 🌞🌞🌞🌞♾️🌞🌞🌞🌞
  • Jr. Member
  • **

  • Poland Poland
  • Posts: 84
  • ⚘🌹🌷 🌿 🌻 🍀 🌷🌹⚘
    • View Profile
    • 440Hz >>> 432Hz
Re: wkKick38
« Reply #41 on: August 21, 2020, 01:05 PM »
LoadLibrary failed: Error 0000007E, what to do now? i have all the sources and dll file in my directory
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.

...even the Light needs a background, or some dirt, to become visible... ...

Offline CyberShadow

  • W:A maintainer
  • Full Member
  • *****

  • Moldova Moldova
  • Posts: 173
    • View Profile
    • Homepage
Re: wkKick38
« Reply #42 on: August 22, 2020, 07:15 AM »
btw, 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.

Offline terion

Re: wkKick38
« Reply #43 on: August 22, 2020, 07:37 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.

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.

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.

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.

Offline CyberShadow

  • W:A maintainer
  • Full Member
  • *****

  • Moldova Moldova
  • Posts: 173
    • View Profile
    • Homepage
Re: wkKick38
« Reply #44 on: August 22, 2020, 08:17 AM »
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
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.

and 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.

As 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.

I 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?

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.
You may observe a non-negligible performance gain by avoiding the WinAPI overhead.

I'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.