June 16, 2024, 12:15 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - CyberShadow

Pages: [1] 2 3 ... 12
Leagues General / Re: Raise the limit
« on: April 04, 2023, 04:04 PM »
Wrong board? This is the tech support forum for the game itself, and I'm guessing this isn't about the WormNET 3-games-per-5-minutes limit.

WA is very old, so it might have some vulnerable computer exploitation?
Yes, we fixed a few of these. That's also how Silkworm worked, it exploited buffer overflows. We also added some security strengthening like ASLR I think.

However, the connection method (TCP/IP) isn't important. Normal hosting is also a direct connection.

Using WormNAT2 or HostingBuddy gives you a bit more safety because they decode the packets, so a malformed packet will cause the connection to be dropped. They only decode frontend packets though. They also act as a proxy, so your IP is not exposed.

Tech Support / Re: physical keyboard layout translate
« on: January 02, 2023, 05:02 PM »
You can use a tool like , it will show you the English names of the buttons you're pressing.

Announcements / Re: WormNET Service Updates
« on: December 11, 2020, 11:39 PM »
Hi all, today I deployed a new version of WormNET services to our staging environment which changes how hosted games are handled. Whereas previously all logic ran in the process of the service which created the hosting session (HostingBuddy, web snooper hosted games, etc.), each session is now handled by a separate individual OS process.

Ideally this will have no visible changes to users, other than under-the-hood improvements such as improved stability (one hosting process crashing will not affect other sessions) and performance (during times of high load, all sessions will no longer be stalled just because one session is waiting to access the server hard drive).

I invite you to test the staging environment in preparation for launching the new WormNET server announced above. Things to pay special attention to is game creation, manual and automatic closing, expiration, reopening, etc. Ideally things should visibly behave in the same way as the live versions (i.e. as on Team17's WormNET). Please report any issues here.

Other changes since my last announcement:

- Improve HostingBuddy etc. memory usage (reuse map packet data when sending maps), which helps stability
- Fix typos in a few links to
- (staging only) Add a !style command which changes the map style
- (staging only) Improve the names of random map styles to be more intuitive - these are now called: island / two islands / low island / joined islands, and cavern / twin tunnel / lake cavern / tunnel

Wormkit Modules / Re: wkKick38
« on: September 05, 2020, 09:54 PM »
Indeed, I am aware of those features and already have the language filter turned on(I double checked just to make sure), yet this player was still able to use that racist word.
Hmm, that's a bug. I'll have a look.
I still wonder about the possibility of having a selective word filter, something you can customize, update and maintain personally, is that something that might be possible in future?
The list of bad words is stored in the file filter.FTR, using a very simple encryption (obfuscation) scheme (ASCII Caesar). Editing that file would allow customizing the game's word filter, though one would need to decrypt it first and then encrypt the result.

Wormkit Modules / Re: wkKick38
« on: September 05, 2020, 01:24 PM »
it's against Twitch TOS.
A few points here:
1. The game already has a feature to cover this particular aspect. You can ignore someone by typing /ignore nickname in the chat, or pressing Ctrl + F1-F6.
2. The game includes a chat filter which is on by default. I'm guessing you turned it off, so this was a consequence of that choice.
3. Please report users who engage in destructive behavior as in your example to WormNET moderators. We should do our best to make sure that users whose "contributions" to WormNET are negative as in your example are not enabled to continue doing so.

Thanks for the report. I also saw a similar bug with high wind.

Announcements / Re: WormNET Service Updates
« on: August 28, 2020, 05:28 PM »
Hi all, I'd like to announce a project that I've been working on lately. Currently a lot of the online multiplayer aspect of W:A depends on WormNET, and especially after the last service outage from about a week ago, it seemed clear that we as the game's community need more control over WormNET.
For this purpose, I've been working on a new WormNET server. The software is based on MyWormNET2, but is fully "decked out" with all the functionality currently running as bots on Team17's WormNET:
- HostingBuddy: Fully integrated. Though it's not in the user list, `!host` and `/hb host` work as usual (though only you see `!host` commands, instead of everyone on the channel). Hosted games appear as hosted by "WormNET" instead of "HostingBuddy".
- WebSnoop: Fully integrated. Sent messages appear as being sent directly by the entered nickname instead of the "WebSnoop: YourNickname>" surrogate as on Team17 WormNET.
- ChanServ/SheriffBot: Integrated - instead of kicking people, flood is just blocked automatically.

Most importantly, having control over the WormNET server would allow us to reap benefits that were inaccessible before:
- Stability: We currently depend too much on Team17 to keep things working, who sometimes have very limited resources in how they can aid us. The current setup is very fragile due to a lot of accumulated legacy, which is why there are still occasional days when HostingBuddy etc. aren't available. This is solved by running our own entire WormNET server, instead of trying to integrate with Team17's legacy systems.
- Capacity: The new server software does not suffer from the artificial limits inherent to Team17's WormNET, which caused everything to fall over / explode violently during activity spikes (such as whenever a popular streamer visits our humble abode).
- Channel list: We can customize the list of channels as needed, e.g. creating special / temporary channels for events or leagues.
- News box: This can finally be used to communicate important news directly to everyone who plays W:A online.
- Better moderation: We have had occasional trouble dealing with stalkers / griefers on WormNET due to the limited moderation controls we've been provided.

Additionally, ideas such as the following are now possible and can be added in the future:
- Better Web Snooper: We will be able to add more features and make it more like a full-featured snooper, e.g. gain the ability to send and receive PMs.
- Better bridges: Bridging between platforms such as IRC or Discord, with e.g. bridged messages appearing as sent from the respective nickname directly, instead of from a bot
- Integrated WormNAT: Having the server provide and advertise a hosting proxy would mean that we could just add a "Host via WormNET server" checkbox in the game.
- Logins: Authentication and registration with proper reserved nicknames
- Ranks!? Though there's a lot more to competitive play, this will at least allow us to start thinking about this more seriously, whether it's something that we want to build from scratch or integrate with existing systems such as TUS.

So, what's the way forward?
- Testing: A test deployment of the server software has already been added to the community server list, as "Community Staging Server". I invite you to try it out, test its limits, and break it if you can (please report bugs or anything unpleasant to #bug-reports).
- Further development: See the list above. Other ideas welcome; I know that other people have built and run their own WormNET server software, so it would be interesting to learn of their ideas and experience in doing so.
- Migration: Once we're happy with the new server, and in agreement that it's at least not worse than the Team17 one, we should probably make an effort of migrating the community over to the new one. At some point after the live community server goes online, services running on Team17's WormNET will begin warning that they will soon stop working, and advise users to switch to the community server; and, at a later point, the services will only be available as part of the community server.

Also announced on Discord here:

Wormkit Modules / Re: wkKick38
« on: August 22, 2020, 10:29 AM »

I thoroughly disagree that it was a non-issue due to e.g. .

Wormkit Modules / Re: wkKick38
« on: August 22, 2020, 10:15 AM »
Try adding this line to CMakeLists.txt:

Code: [Select]
set_property(TARGET wkKick38 PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded")

Wormkit Modules / Re: wkKick38
« on: August 22, 2020, 10:00 AM »
I am truly sorry for causing  trouble to you and the entire worms community.
This is unnecessary.

Though I think that through discussion in this thread issues with the module were corrected and the most recent release of the module seems to work properly.
I don't understand what you mean by this. The attachment to the (latest?) post at still seems to pull in MSVCP140.dll?

My works are and will remain open source, so if anyone wants to improve them, anyone is free to do so and I would love to see an active open source worms community in near future.
I suggest placing the source code on a software forge website, such as GitHub. This will avoid issues such as someone submitting a patch against an outdated version of the source code.

Clearly, I'm no expert on windows api but I think that LoadLibraryA triggers this error before my module runs a single code instruction, so there is not much that I can do from technical standpoint.
I don't understand what makes you say that. I already offered a few suggestions on how to avoid this: 1) Avoid using libc features 2) Link to the libc statically 3) Include the libc DLL with your application 4) Make it so that it's not possible to install the module without also installing the dependencies, e.g. by bundling it in an installer; or, as the next best thing, make it so that it's unlikely that users end up with this situation, e.g. by placing the download link for dependencies before the download link for the module itself.

I should've stated in OP that this module requires MSVC runtimes, but some users would ignore it regardless (just like GrO did a few posts back when I instructed him to install runtimes).
This is twice fallacious: 1) You are dismissing a suggestion based on a hypothetical scenario which just assumes that users are going to be incompetent (in which case, it would be reasonable to state that it's the user's fault for failing to follow instructions); 2) the parallel you are drawing is not a good one, as the problem persisted for GrO because the instructions you added were incomplete (you never mentioned which bitness version of the runtimes were necessary).

I am well aware of that and I've already changed that code before your posts when feedback about issues reached me.
Great :)

- in my opinion this functionality should come standard with base game to avoid shitty kick module implementations like this.
I agree that there is a problem in need of solving here, but not necessarily that this is the best way of solving it. I would be more excited to see a module which forces a player's teams to surrender without disconnecting them, so that they have an opportunity to discuss what went wrong and how they can avoid disrupting games in the future. For malevolent players who continue to disrupt games intentionally, preventing them from entering the game in the first place would be a much better solution. Cases when players behave in a way that's not acceptable regardless of circumstances (e.g. hate speech etc.) should be reported to moderators so that the users are removed from WormNET.

If there was a proper API to deal with the game's memory or proper open source examples, things could've been a bit better.
Unfortunately we are torn by a conflict of interest between helping the community to build useful things, and our obligation to Team17 to not divulge too many game internals, as well as not accidentally making it too easy to build harmful software such as cheats.

Wormkit Modules / Re: wkKick38
« 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 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.

Wormkit Modules / Re: wkKick38
« 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.

Tech Support / Re: Hosting doesn't work
« on: August 19, 2020, 10:11 PM »
There was an Internet outage today causing HostingBuddy to be offline.

No idea why WormNAT2 wouldn't work though.

Tech Support / Re: ...invalid scheme file
« on: August 15, 2020, 03:22 PM »
I think you should post this in the TUS bug report forum:

Pages: [1] 2 3 ... 12