rtcwmp-com / rtcwPro

RtcwPro - Competition Mod for Return to Castle Wolfenstein
http://rtcwpro.com
GNU General Public License v3.0
26 stars 6 forks source link

Current Alpha issues #301

Closed wolf6542 closed 3 years ago

wolf6542 commented 3 years ago

Current Open issues for 1.2:

4) crosshair assets need to be in the mod pk3 in the fs to load properly;

~12) #297 - Calling a vote during a pause crashes clients - especially callvote map;~

~16) HTTP downloads are failing - tried with both maps.rtcwmp.com and rtcw.life; @natelo or @rtcw-nihi~ - fixed with f89b05a30d0b0c9ba90dbd815f42601699fe69ae

~23) sess.guid appears to be empty and when looking at JSON stats locally the GUID is empty as well - Alpha server is getting "md>" for the player guid?? ClientUserinfoChanged: 1 name\kk\team\Axis\IP\0.0.0.0\country\225\ignored\no\status\0\timenudge\0\maxpackets\100\guid\md>~ Fixed by tarator

~25) I think it would be a good idea to add a slight delay on the Stats Curl Submission when the round ends. Is there a way to do this in a separate thread that will not introduce a lag spike at the end of the round? Answer (Nate): It will always spike out because it's not threaded. In fact it will be even worse if site is offline or unresponsive when it tries to submit it, I repeatedly warned you all, about it.. we need to hook this to threaded requests that are already there. I agree we should do this on separate thread~ Fixed by nihi/tara

27) players will randomly get the obj after being revived (also known osp bug) https://www.youtube.com/watch?v=VTSoPfAmvyA @wolf6542 did you put dirty fix in for this?

~28) #303 gametype voting not working and has invalid game types from WolfX listed - _KK - I fixed the gametype voting but we need to remove the invalid gametypes from the "gameinfo.txt" file inside mppakx1.pk3~

30) AS indoors. @wolf6542 think that indoor airstrike code you found could resolve this? https://clips.twitch.tv/CooperativeFantasticCasettePeteZarollTie-kue0GAAfpAErcj60

31) Weapon auto switch before firing. @natelo any ideas on this? Do we have a bug in weapon switching? https://streamable.com/csl9wj https://streamable.com/x6eh01 https://streamable.com/jekvtw https://streamable.com/eh1n8b

30) Unconfirmed - clients will be PW_INVULNERABLE longer than 3000ms for ClientSpawn (revive or not) https://user-images.githubusercontent.com/60988055/116795619-ff712980-aade-11eb-9cb5-191315154d3b.mov

31) Cannot revive or defuse dynamite if there's an ungibbed body on top

End of issues left to resolve for 1.2

Some of those issues might turn non-issues at the end but anyway, first glance test:

~1) consider defaulting cl_allowdownload to 1; do we want to set the following cvars in the code? sv_wwwDownload = Cvar_Get("sv_wwwDownload", "1", CVAR_ARCHIVE); sv_wwwBaseURL = Cvar_Get("sv_wwwBaseURL", "http://rtcw.life/files/mapdb/", CVARARCHIVE);~ KK done_

~2) unlatch com_maxfps - yes there is autoexec, but still it will be a QoL improvement to have it changed on the fly as restrictions can take care of abuses anyway;~ KK - defer for now

~3) something's wrong with bbox/collision detection - players in close proximity will jitter/stutter in movement against each other; KK - see Tara's update below with video~ Logged #323

~5) /minimize crashes out people after they've minimized - console reports them as timed out. Only happens to @krazykaze81 so far. I haven't encountered this issue on my end with default cfg;~ KK - this seems to be working on new alpha build

~6) failed to load ui dll - source is having this issue when trying to load the client (after unzip and launch), totally clueless on this one;~

7) Callvote comp/pug config doesn't work - returns failing to locate the cfg; KK - This seems to be working for me but could use a code review

~8) clientinfo in log will report IPs as 0.0.0.0; KK - I also noticed that connecting to localhost on my local environment is saying that the ip is 0.0.0.0 sometimes and I have to reconnect to 127.0.0.1 to make it connect Note: 0.0.0.0 for localhost is there by design - if it's local it will set it to 0.0.0.0 regardless if it's IPv4 or IPv6 so not an issue for localhost..just needs to be solved for remote scenarios.~

~9) switching maps will cause client to be stuck in the loading screen/downloading screen, once that happens, the client can no longer connect - #299 ;~ KK - this is a too many maps on server issue - fixed by Tara

10) r_bloom should default to 0; _KK - think this is already defaulting to 0 i.e. r_bloom = ri.Cvar_Get("r_bloom", "0", CVARARCHIVE);

~11) / key toggles the console - I don't believe it should work that way?;~ KK - Removed this

13) Hard to reproduce - CTD on bringing the console down right when a round ends; This is not related to 1.2 will create separate issue to track

14) Add some kind of global feedback (cp w/e) when obj is lost; KK - this needs to be confirmed I have not seen this issue This is not related to 1.2 will create separate issue to track

~15) Complaint votes don't work (they shouldn't be a thing though, but still); _KK - if g_tournament is 1 these will popup if cgcomplaintpopup = 1 but you cannot vote against your teammate This is not related to 1.2 will create separate issue to track~ KK - fixed

~17) the time during which the game is paused is deducted from the game timer - pause for 30 seconds : game will end with 30 seconds on the clock This may not related to 1.2 but would definitely need a fix for a release~ Fixed by Nate

~18) consider kicking for cvar violations only if team != spec;~ Engine has no concept or awareness of teams so no point exposing it to it.

~19) ref mute doesn't work;~ KK - fixed this

~20) too many maps on the server side main causes clients to be stuck on the loading screen - tested with 20 more on top of what is currently in main;~ KK - duplicate of 9 above

~21) clipping in certain brushes, like beach ducts, fails. - see update below This is not related to 1.2 will create separate issue to track~ KK - fixed by Nihi

~22) (unconfirmed) - it seems that votes go away if you die in warmup. as in, if the vote has started, you die. then the indication that a vote is happening disappears, and the notification that you have voted (sound and obviously counter) is also not there This is not related to 1.2 will create separate issue to track~ Logged #324

~26) Weapons randomly swapping (like panzer for sniper) for a player during a round https://streamable.com/73k5cr~ KK - not a bug - he picked up a mauser by mistake

~29) #315 Client randomly gets their class changed (after revive?) - ends up having needle as LT https://clips.twitch.tv/GrossLachrymoseNikudonKlappa-pd58tqLE8jcZggEp~ KK - Fixed

wolf6542 commented 3 years ago

Update on 3): It happens on 1.1.2 as well. It's not dependent on whether antilag is on or not. (if need be, test with lower g_speed) https://streamable.com/nxscke

Update on 18): Variable is there - sess.muted, but is not being used, i.e. in g_say or whatever.

krazykaze81 commented 3 years ago

Update on 20) go into ducts on beach and jump and hold your jump bind and you can see above ducts https://streamable.com/n75qdu

krazykaze81 commented 3 years ago

Note for 25)

// From g_json.c

void G_writeClosingJson(void)
{

    if (level.gameStatslogFile) {
        trap_FS_Write( "}\n", strlen( "}\n"), level.gameStatslogFile );

        if (g_stats_curl_submit.integer) { // is there a way to delay this until warmup of next round?
            trap_FS_FCloseFile(level.gameStatslogFile );
            //submit_curlPost(level.gameStatslogFileName, va("%s",level.match_id));
            trap_submit_curlPost(level.gameStatslogFileName, va("%s",level.match_id));

        }
      }

}
rtcw-nihi commented 3 years ago

Note for 25)

// From g_json.c

void G_writeClosingJson(void)
{

    if (level.gameStatslogFile) {
        trap_FS_Write( "}\n", strlen( "}\n"), level.gameStatslogFile );

        if (g_stats_curl_submit.integer) { // is there a way to delay this until warmup of next round?
            trap_FS_FCloseFile(level.gameStatslogFile );
            //submit_curlPost(level.gameStatslogFileName, va("%s",level.match_id));
            trap_submit_curlPost(level.gameStatslogFileName, va("%s",level.match_id));

        }
      }

}

A simple way is to make an on/off switch by replacing the trap_submit_curlPost with a boolean and move the call to send stats wherever you want (and turn the switch off after the call).