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

[WIP] GoldSrc protocol support #1418

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

[WIP] GoldSrc protocol support #1418

wants to merge 23 commits into from

Conversation

a1batross
Copy link
Member

Because Xash can't connect to Steam to get certificate cookie, it requires sv_lan 1 on HLDS side.

Almost nothing does work except joining to the server. Use connect IP:Port goldsrc to connect to GoldSrc server.

@a1batross a1batross changed the title GoldSrc protocol support [WIP] GoldSrc protocol support Aug 31, 2023
@a1batross
Copy link
Member Author

Had a good online match using Xash3D FWGS on ReHLDS-based server with GoldSrc clients. Friendship! And not a single crash!

Also recorded two demos to test protocol support on.

@nekonomicon
Copy link
Member

May be use fresh libbzip2 versions from gitlab?
https://gitlab.com/bzip2/bzip2/-/tags

@mittorn
Copy link
Member

mittorn commented Oct 28, 2023 via email

@a1batross
Copy link
Member Author

May be use fresh libbzip2 versions from gitlab? https://gitlab.com/bzip2/bzip2/-/tags

Not a big issue, since the protocol impl is almost ready now.

At start, I just threw whatever was in ReHLDS to be sure it's exactly the same bz2 that they are using.

@a1batross
Copy link
Member Author

We can as well just link with system provided libbz2. :)

@nekonomicon
Copy link
Member

Yep, you're right.
And I didn't see any critical fixes or additions in new releases.
One small thing which annoying me - there yet another crc32 table.

@a1batross
Copy link
Member Author

Yep, you're right. And I didn't see any critical fixes or additions in new releases. One small thing which annoying me - there yet another crc32 table.

I don't think we can do anything if the dependency carries its own CRC32 implementation.

a1batross and others added 22 commits November 1, 2023 00:42
* ReHLDS version, modified to minimize copypasted code
* Simple unit tests are added
* Share delta field encoding with Xash protocol as much as possible
* Make delta struct types public so engine code could reference them directly
  (very useful for GoldSrc tables, as they are pretty generic)
* Implement GoldSrc's svc_deltadescription parser
…ffer ops

* Try to disable it in normal Long, Short, Char functions, so it doesn't affect byte ops, like GoldSrc
…ss packets, it should be able to start connecting now
…a, clientdata, baselines, userinfo and resources
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants