-
-
Notifications
You must be signed in to change notification settings - Fork 234
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
Conversation
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. |
May be use fresh libbzip2 versions from gitlab? |
What about ktx.bz2?
|
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. |
We can as well just link with system provided libbz2. :) |
Yep, you're right. |
I don't think we can do anything if the dependency carries its own CRC32 implementation. |
…e with GoldSrc proto
* ReHLDS version, modified to minimize copypasted code * Simple unit tests are added
… legacy message names
* 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
…hat would be re-used in GoldSrc parser
… size and less safe
…or GoldSrc protocol
…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
49d8c6b
to
8aa3aa1
Compare
What is planned for PR completion? Maybe we can rebase and merge all this already? So people can easily test it |
Let's rebase/merge this with current master at first... and then decide what to do. When I last tried this branch, I disliked these things about it:
|
Some thoughs about 1.
|
This is the thing that better to be reworked in future, but I think for now it's ok. It's more important to have ability to connect to GoldSrc servers from master branch, so it will could be done without playing with different branches and keeping it up-to-date. |
It it possible to run broker on different machine? Basicly, it might be useful for network-connected platforms
|
Well, broker is something that only exists in my mind. I haven't implemented it yet. At first stage, we better merge this branch. @SNMetamorph is right in that regard, as it's actually a working thing, and it wouldn't be fair to hide it here forever. |
Reworked and merged. |
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.