Raised This Month: $23 Target: $400
 5% 

Solved [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: Toronto, Canada
Old 06-03-2024 , 12:08   [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #1

Big thanks to epzminion for providing the info from the pre-patch binaries.

Before downloading the patch, please note the general boiler-plate stuff; you're downloading it at your own risk, and AM cannot guarantee that other stuff wasn't modified. But, Scout's Honor (although I was never a scout) as I have corrected the incorrect call as referenced in the below quote and re-assembled the file. However, you can edit the file in IDA or any hex editor to verify the changes.

I know that not everyone who runs a linux server has the capability to do this, I wasn't sure if someone else was going to share a patched file, and I think everyone should always be on an even playing field.

Until such a point that Valve releases an official patch, this will patch linux servers to display your server in the steamgroup server listing.
patch data: https://i.imgur.com/SvYk5Ek.png

Place matchmaking_ds_srv.so in your linux servers /l4d2/left4dead2/bin/ folder. You'll need to restart the server for the update to take effect.

If you want to diy:
Disassembly view in IDA: https://www.youtube.com/watch?v=kAxDfZy9e_k
Hex editor: https://www.youtube.com/watch?v=ANaLMT11N4U

Quote:
Originally Posted by epzminion View Post
Looked into it a bit, and I have found that replacing the call to KeyValues::KeyValues(char const*, KeyValues::KV_DISPOSABLE_STRING_TABLE_STATE) with a call instead to KeyValues::KeyValues(char const*, IKeyValuesSystem *, bool) in the CConnectionlessLanMgr::UnpackPacket(netpacket _s *) function within matchmaking_ds_srv.so allows the server to appear in the group server list again.

The CServerManager::OnEvent(KeyValues *) function doesn't seem to like disposable keyvalues, and FindKey can't find a match with them, causing the server to not respond to InetSearchServerDetails queries from clients and keeping the servers from showing up on the list.
Attached Files
File Type: so matchmaking_ds_srv.so (938.6 KB, 90 views)
__________________

Last edited by Skyy; 06-04-2024 at 16:00. Reason: diy tutorials
Skyy is offline
Slaven555
Member
Join Date: Jul 2018
Old 06-04-2024 , 00:25   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #2

Hello. The fix works. You can somehow disable Chinese mirrors. There is a lot of garbage from them.
Slaven555 is offline
Pa4H
Junior Member
Join Date: Nov 2018
Old 06-04-2024 , 06:43   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #3

Nice work!
Need Windows fix...
Pa4H is offline
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 06-04-2024 , 09:20   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #4

Quote:
Originally Posted by Pa4H View Post
Nice work!
Need Windows fix...
Windows is just fine.
cravenge is offline
ilham92-cc-sakura
Senior Member
Join Date: Oct 2008
Location: /var/www/index.html
Old 06-04-2024 , 09:48   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #5

L4D2 Server hosted on VPS [public same] are working, however server behind NAT are not working



Client:
Code:
] connect 60.51.149.181:27015
Connecting to public(60.51.149.181:27015) 
Sending UDP connect to public IP 60.51.149.181:27015
Server using 'public' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 60.51.149.181:27015
Grace request retry for unreserved server...
Retrying public(60.51.149.181:27015) 
Sending UDP connect to public IP 60.51.149.181:27015
Server using 'public' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 60.51.149.181:27015
Server approved grace request...
Retrying connection to 60.51.149.181:27015, server requires lobby reservation but is unreserved.
Received game details information from 60.51.149.181:27015...
BinkOpen( d:\program files (x86)\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background04.bik )
CAsyncWavDataCache:  1 .wavs total 0 bytes, 0.00 % of capacity
Server:
Code:
-> Reservation cookie 1860000cac0646c:  reason ReplyReservationRequest
---- Host_NewGame ----
Host_NewGame on map c1m1_hotel
...
Connection to Steam servers successful.
   VAC secure mode is activated.

status
hostname: Chaos XL
version : 2.2.3.8 9309 secure  (unknown)
udp/ip  : 192.168.88.30:27015 [ public 60.51.149.181:27015 ]
os      : Linux Dedicated
map     : c1m1_hotel
players : 0 humans, 0 bots (12 max) (not hibernating) (reserved 1860000cac0646c)

# userid name uniqueid connected ping loss state rate adr
#end
__________________
ilham92-cc-sakura is offline
BBG_Theory
Veteran Member
Join Date: Oct 2010
Location: NC USA
Old 06-04-2024 , 10:04   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #6

thanks, worked Linux w/ latest dev SM /MM
BBG_Theory is offline
Skyy
AlliedModders Donor
Join Date: Jan 2010
Location: Toronto, Canada
Old 06-04-2024 , 10:18   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #7

Quote:
Originally Posted by Pa4H View Post
Nice work!
Need Windows fix...
For Windows, I believe the fix is as easy as copying the server dll files from your own personal installation's left4dead2/bin/ folder to your Windows server.

Only Linux servers required a patched .so
__________________

Last edited by Skyy; 06-04-2024 at 10:43. Reason: explanation why no windows patch
Skyy is offline
epzminion
AlliedModders Donor
Join Date: Jan 2011
Old 06-04-2024 , 18:38   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #8

Quote:
Originally Posted by Skyy View Post
For Windows, I believe the fix is as easy as copying the server dll files from your own personal installation's left4dead2/bin/ folder to your Windows server.

Only Linux servers required a patched .so
Valve fixed this issue today with the 2.2.3.9 update.
epzminion is offline
chunklight
Junior Member
Join Date: Jul 2021
Old 06-24-2024 , 09:40   Re: [L4D2] Linux Server Steamgroup List matchmaking_ds_srv.so patch
Reply With Quote #9

Quote:
Originally Posted by BBG_Theory View Post
thanks, worked Linux w/ latest dev SM /MM
hey could you tell me which specific dev builds you were using for linux? I'm not having luck
chunklight is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 22:55.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode