Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A bunch of gamebreaking issues found. (Engineer Buildings Disappearing, Stickies Disappearing, etc.) #28

Closed
SnowySnowtime opened this issue Aug 16, 2021 · 22 comments
Labels
invalid This doesn't seem right

Comments

@SnowySnowtime
Copy link

Currently, I'm compiling a list of issues I had found whilst using this plugin on my server. There's a few small ones, but on the other hand, a decent chunk that is game-breaking that is REALLY annoying the players. Here's a list of the few I found, along with replication:
These all occur at random.

Engineer Buildings Disappearing, and Stickies Disappearing.
Replication: Build or deploy a sticky, and switch to a CWX weapon from stock. May even occur if you just switch weapons outright. This is a major annoyance to Engineer and Demo's, for obvious reasons.

Players may lose one, multiple; or all weaponry, upon spawning.
Replication: Spawn. I'm not sure why this one happens. This seems to be an odd case where some people will experience this, and be incapable of playing outright, while others will be able to play without issues whatsoever. This one occurs even if the player doesn't use CWX weapons whatsoever. I've had cases where players would lose their primary weapon only, but never lose their other weapons. but then some who'd always lose their weapons, and even some who would lose just their melee. It's weird and inconsistent. Since this issue never occurs to me, it may be related to when a player joins.

Wearables double their attributes on touching a resupply locker on classes that do not originally have them
Replication: Self Explanatory. Touch resupply with a wearable on a class that doesn't usually have it, and it'll double it's attributes. Best seen with health increases and health regen.
I'm certain there's more, but I'll need to record these issues occurring. Due to the fact that only the first and third one affects me, I'm going to have to wait for players to join to record the weapon misplacement issue.

I've been watching the console but I don't see anything that could correlate to the weapons disappearing. It just happens. I tried it with no other plugins enabled besides the CWX framework, base Sourcemod, and its Attribute framework and it still occurs for players. Further investigation required.

@SnowySnowtime
Copy link
Author

If any additional information is required, let me know. I'll provide with what i can.

@nosoop
Copy link
Owner

nosoop commented Aug 17, 2021

Hello; thanks for reporting.

Stickies Disappearing

I'm able to reproduce this if a new weapon is selected while in a valid spawn room.
That seems like the intended current behavior when players update weapons in spawn. That said, the game's own loadout switching and respawn mechanic doesn't trigger this, so I'll split it out into a separate issue so it can be closed out separately.

Engineer Buildings Disappearing

I'm unable to reproduce this with the method described above. Which would make sense, since buildings aren't destroyed on death / spawn.

Players may lose one, multiple; or all weaponry, upon spawning.

Also unable to reproduce this. One idea I can think of is that this may be related to connectivity issues with the game coordinator, but otherwise I can't think of any reason why weapons would not be granted.

Wearables

Yeah, I think I can see where this issue could come from. Will split it out as well.

@SnowySnowtime
Copy link
Author

The one with engineer's buildings is seemingly random sadly. I do have a recording of it occurring, and it sometimes happens in play. It was big enough to report. Give me a few moments to upload.

@SnowySnowtime
Copy link
Author

SnowySnowtime commented Aug 17, 2021

Players may lose one, multiple; or all weaponry, upon spawning.

This one may be related to the time a player joins. If they're the first one, etc. This issue never occurs to me, but almost always occurs to others. This is just correlation however, and may not be the cause.

@SnowySnowtime
Copy link
Author

An example of engineer buildings randomly disappearing. This may occur even in non-mvm based servers.
https://user-images.githubusercontent.com/47854261/129664189-d5a4183d-24a2-4364-b6ab-3cdcea1e7dc2.mp4

@nosoop
Copy link
Owner

nosoop commented Aug 17, 2021

I'll look into it when I have the time, but I can't think of anything specifically within CWX that would trigger Engineer buildings disappearing (especially individual ones). I guess I'll create an exhaustive build for you that logs all function calls within a few hours, if not the next day.

@SnowySnowtime
Copy link
Author

Alright.

@SnowySnowtime
Copy link
Author

Updated to the new release, Demo's stickies still disappears. This behavior is only shown when using CWX.

2021-08-17.12-56-28.mp4

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Can you provide a full list of plugins and extensions currently active on the server (including versions)? Also, what operating system is the server running on?
I can't think of anything within the CWX core plugin that would cause this behavior directly, so I'd guess it's either a faulty attribute plugin (which would then need to be identified and an issue filed in the correct repository) or an overzealous entity limiter (I've heard of one that ends up killing important entities at random).

No other users that I know of, as few as they are, have reported similar obvious issues, so I suspect something lurking within your particular server configuration is causing these problems.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

If you have a minimal setup that you can replicate this on, you can also create an archive of all the addons and send that to me in some form. Would probably be easier for me to look over.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Attached is an exhaustive logging build, which adds messages for most things within cwx.sp (the main code file).

package.zip

@SnowySnowtime
Copy link
Author

SnowySnowtime commented Aug 18, 2021

Operating System for all servers is Windows 10.
The two servers run somewhat different plugins, I'll compile them into two separate text files.
server_1.txt

These issues persist on the other server as well.
server_2.txt
I'm starting to believe that it could be a TF2Items conflict due to how the two plugins work, but that's more-so out of experience with GMod addons, not sure if that thinking applies to sourcepawn.

I'll go isolate the CWX plugin itself, and work my way up using your verbose logging build.
I've loaded it up with just the mere requirements, no other plugins loading, let alone any attributes. Plugin list:

[SM] Listing 10 plugins:
  01 "[TF2] Custom Weapons X" (X.0.7-81df601) by nosoop
  02 "cwx\precache\snowtime_precache.smx"
  03 "[TF2CA] Custom Weapons Config Adapter for Custom Attributes" (1.2.2) by nosoop
  04 "[TF2] TF2Attributes" (1.3.3@nosoop-1.7.0) by FlaminSarge
  05 "TF2 Utils" (0.12.0) by nosoop
  06 "[TF2] Custom Attributes" (0.4.1) by nosoop
  07 "[TF2] Custom Attribute Debugger" (1.0.0) by nosoop
  08 "[TF2] Custom Attribute Manager" (1.0.0) by nosoop
  09 "[TF2] Custom Attribute Team Subsection Handler" (1.1.0) by nosoop
  10 "[TF2] Econ Data" (0.17.1) by nosoop

Attempting to re-create the issues with the sticky and buildings is now impossible. I've tried a multitude of ways but it seems to not have worked.

Another issue had arisen, though I'm uncertain if it is caused by the verbose build. On map change, the plugin freaks out, and fails to function properly. 
If you had chosen custom weapons on one map, and then switch maps, any weapons you had selected on the previous map will no longer exist.
This means you will lose out on say, a primary and a secondary. This will crash the server upon opening the CWX menu. 
Here's a console log -

console.log

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Ah, TF2Items. You might be seeing something related to this issue I posted a few years ago with the disappearing weapons. That's a big reason why I don't bother with TF2Items anymore.

DHooks historically had Windows-specific quirks so that might also be an issue, but DHooks in general is really finicky with what return types a developer should be using, no matter the platform.

The verbose build might have formatting log issues, so I'll take a look into that.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Ah, yeah. Screwed up on the formatting on that message. Fixed package and source attached.

package.zip

@SnowySnowtime
Copy link
Author

Alright, downloading.

@SnowySnowtime
Copy link
Author

SnowySnowtime commented Aug 18, 2021

I really do hope that TF2Items isn't the cause. It's much better than TF2Attributes is in most instances, IMO. I'll go test to see if TF2items is the cause of this bug once I do a double check on the updated verbose build.
Verbose build is stable now, I'll go see if pairing tf2items with cwx causes these issues.

Unrelated to testing - Seems that wearables are still doubling their attributes on resupply. Here's an example of it, made obvious with a health bonus and move speed bonus.
https://user-images.githubusercontent.com/47854261/129865798-47d22ab9-1ae7-461a-82af-ca716b37fe12.mp4
Looking into the console doesn't give much insight at all as to why it could be occurring. The doubled stats stay, even after respawn, only wiping after changing classes entirely, and presumably removing the weapon.

It seems that, for the buildings and stickies, TF2Items is not the cause. Looking into a cause for user weapon disappearances.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

It could be something within the starter pack attribute collection as well. Unfortunately, between the additional maintenance complexity and DHooks in general, Windows is a second-class platform.

It would more likely be some sort of DHooks interaction, though.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Regarding the attribute doubling, please provide a sample config on issue #30 so I can validate. I tested the fix with a copy of a Chargin' Targe with bonus maxhealth on an Engineer and that seemed to work fine.

@SnowySnowtime
Copy link
Author

SnowySnowtime commented Aug 18, 2021

Done.
I'm stuck with Windows for now, so I'll just work around with what I've got at this time.
I'll add in the custom attributes from the starter pack slowly, I wonder if it could be an individual one or just the entire pack as it is. Hidden Dev Attributes is fine, as I'd expect.
Actually, found the attribute that's causing it, which was not what i was expecting.
[CA] Weapon Model Override is causing these issues. I'll go report those to that git. It may also be the cause of disappearing weapons, but uncertain of that fact, I have no one else on to help fact-check.

@SnowySnowtime
Copy link
Author

I will see how it all goes by using your implementation of viewmodels/worldmodels instead. I wish that it didn't turn the viewmodel into jolly ranchers due to lighting bugs, but if it doesn't break like the other one, I might as well use it. Thank you for your help, I'll let you know if any issues arise that cause the disappearing weapons bug again, if it still occurs on the live servers.
Please keep this issue opened until I can confirm this is indeed the case.

@nosoop
Copy link
Owner

nosoop commented Aug 18, 2021

Regarding viewmodels, you may want to look into the lighting-quirk-fix branch, but there's known issues with that one as well.

@SnowySnowtime
Copy link
Author

It was indeed the one attachment causing all of these issues. Thank you for your assistance.
I've made a push request to the lighting-quirk-fix branch to attempt to update it, if you have time to review it.

@nosoop nosoop added the invalid This doesn't seem right label Aug 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

2 participants