protonscr

[CS 1.6] Specting issue when there are 32 players online

steamclosed reviewedMOVED: Counter‐Strike
ValveSoftware/steam-for-linux#1162 · opened 2013-02-01 by Neeeeeeeeeel · updated 2013-02-14 · 12 comments · github
NNeeeeeeeeeel 2013-02-01 github

I just can confirm this on CS 1.6 (I never tested in other games).
When there are 32 players online, one of them has an error.

Here is a video of the bug.
http://www.youtube.com/watch?v=1bFSJVghI5A

At 00:13 he start's specting the bug player in first person mode.

XxPaw 2013-02-01 github

This issue relates to engine, and not only CS. 32nd player can't actually trigger any trigger_* entities. I believe there are even more bugs related to this.

Aalfred-valve maintainer 2013-02-01 github

The beta update already contains a fix for the 32 play bomb bug, can you still reproduce this in the beta?

NNeeeeeeeeeel 2013-02-01 github

Now I'm downloading Ubuntu 12.10 to install CS beta version.
I will let you know if the bug still alive.

Edit: CS beta is only for linux, right? Because I can't see any updates from Windows on my Steam Library.

XxPaw 2013-02-02 github

@Neeeeeeeeeel Check betas tab in properties.

LLevShisterov 2013-02-11 github

@alfred-valve: please check this place, may be this bug is still there:
[code]
void TeamFortressViewport::GetAllPlayersInfo( void )
{
for ( int i = 1; i < MAX_PLAYERS; i++ )
[/code]

Aalfred-valve maintainer 2013-02-12 github

@Lev, MAX_PLAYERS = 64, so that ain't it.

LLevShisterov 2013-02-12 github

Okay. Thanks for checking that.
Then it is in delta.lst file:
DEFINE_DELTA( iuser2, DT_INTEGER, 5, 1.0 ),
5 bits allow to encode only 32 states, while we need 33 (0 - no player is spectated and 1-32 - player index we are spectating).

NNeeeeeeeeeel 2013-02-12 github

Should be for ( int i = 1; i <= MAX_PLAYERS; i++ ), shouldn't it?

LLevShisterov 2013-02-12 github

@Neeeeeeeeeel, yep, but in HLSDK there are some remnants and one of them is:
enum
{
MAX_PLAYERS = 64,
MAX_TEAMS = 64,
};
on client side. I forgot about that when wrote post about that "for" iteration.

Aalfred-valve maintainer 2013-02-12 github

@Lev, that iuser2 delta would certainly be a problem. I'll need to hold that back until the full release as that breaks the net protocol.

LLevShisterov 2013-02-12 github

@alfred-valve, I checked that thing, with setting it to 6 problem solved completely. Removing that row or changing to some less value brings that problem to lower slots (exactly like on video from topicstart).

Aalfred-valve maintainer 2013-02-14 github

The update today (making CS 1.6 public) contains this delta fix.

Nothing extracted yet.