[Linux] Server browser is unable to discover local server

Issue #94 resolved
Purkkaviritys created an issue

When I open the latest Linux build of Daikatana it doesn't show me my locally running server in the server browser. I have to join any other server first (preferably through a server I've added to the address book) before it will show and the locally running server in the local games server browser.

Windows version doesn't have this issue.

Edit: Here are the screenshots I promised to deliver...

While I have the local server running on a background. When I start the game this is what it shows me:

12584124563790495744_screenshots_2015-04-18_00001.jpg

Note that I've the dknews.net added to the address book so it is there by default. Notice how the string goes out of boundary in menus. I cannot see the local server even if I do refresh. But when I connect to dknews.new, and press esc and go back to the local games browser it shows the local server I have running:

12584124563790495744_screenshots_2015-04-18_00002.jpg

However the string at the end is even more corrupted and shows stuff it's not supposed to show at all. This is consistent every time. And when I join my own local server. If I go back to the local server browser it will not show my own local server any more in the list even thought I know it's running on the background and I am connected to it:

12584124563790495744_screenshots_2015-04-18_00003.jpg

Comments (15)

  1. Frank Sapone

    This bug is old, but what was the name of your server? It looks like a string parsing bug in the gamespy sdk

  2. Purkkaviritys reporter

    "Daikatana Systemd Server" or something like that. I can check it later today. This is a bug specific to the Linux version UI. I haven't noticed this happen in Windows version. I would have wanted to verify if this bug was still there among other things when I recently asked you to provide a new Linux build at Steam.

  3. Purkkaviritys reporter

    The exact name I've written to my dkded server config which is fire up by the Systemd unit is "Daikatana Systemd Test". So there's that.

    My client sets adr0 automatically to "dkserver.daikatananews.net:27992" for some reason. I have to take a look if I've done something that causes it or not.

    If I empty the value of adr0 then no local servers will be listed in the local server browser in the menus. And no refreshing changes the situation. But I can write to console "/connect localhost:27992" and it will join my local server.

    And rest is still the same as I've explained in above posts about this string corruption bug thing in local game browser list.

    Oh and one more thing I almost forgot. If I start new single-player game and when I'm in the game press esc to go to menus and then open up the local games browser the Daikatana will crash with a probability of 99.9% when I have dkded running on a background.

    Edit: I had adr0 on my configs set to "dkserver.daikatananews.net:27992" I cleared it and the corrupted string went away in local games browser. But the game still doesn't show my local server running on the background like it should. Refreshing the list doesn't do anything.

    When adr0 is not set, and I start a new single-player game, and then press esc to go to local games browser and press fresh nothing happens but if I then open up console and join it by typing the /connect localhost:27992 it will connect.

    However when it loads up the game it will show me "pause screen" image and when I click with my mouse I can hear e.g. fist punch sound but there's no music and moving doesn't do anything on screen as if the multi-player game is on pause or something which is pretty weird. This is highlighted by the fact when I press pause button or press esc twice the game will after that update the screen on where I am if I "walked" while the pause screen was visible.

  4. Frank Sapone

    I assume you're using either a pirated copy of DK (which is fine I don't care) because the adr0 to have dknews in it was from a meisterm autoexec.cfg from a pirated copy floating around on the net... or you added it yourself into an autoexec.cfg

    When caedes gets back from vacation I can have him compile the latest linux build and added a developer verbose output for the local refresh browser to see what is happening.

    Frank

  5. Purkkaviritys reporter

    You of all people should know how much I like this game. I understand where you're coming from but it's honestly quite insulting to suggest that I'd use a pirated copy of this particular game. I've bought several copies of this game during the past decade from various places. And if god allows me then I shall also buy the soundtrack CD and the Gameboy version when I see them and I'm on the mood for it.

    I've gifted those extra copies to my close friends and pressured some of them to play it with me. And I did it fully aware that some of them for obvious reasons hated the very idea of installing this game on their HDDs.

    20150906_004.jpg

    Allow me to be clear on this matter. I am not using a pirated copy. I've probably added the adr0 address there when I didn't know about the patch 1.3 and the Gamespy servers were shutdown. But I have no recollection of it.

    However it's true that I'm using some of the configs from the Meisterm which I downloaded from his site. But I don't know how much his stuff is still there and what's mine since that was years ago. But the adr0 was in my own personal Dekonega.cfg. Not in my autoexec.cfg.

    The only thing I even have in my autoexec.cfg is "bind "'" togglequickconsole" because on Linux when using Finnish keyboard layout the tilde to bring console up and down doesn't work in Daikatana or in majority of the Quake engine based games. And has never worked as long as I can remember playing games on Linux (First distribution I touched was Red Hat Linux 5.2).

    When Caedes comes back well rested and bakes a new build I hope we can track the issue(s) down. I am really appreciating that you guys are doing this for this game. And especially the Linux support warms my heart a lot.

  6. Frank Sapone

    No, no. I didn't mean it in an insulting way. The point I was making was that sometimes even when you own a real copy it's just easier to grab a zipped copy online very quickly instead of looking around for the CD or dealing with an older installer that might have issues, stupid copy protections that make installing on new systems difficult, etc.

    In any case, there is a version out there that uses MeisterM's configuration files from the old planetdaikatana.com. When you see fake "MeisterM"s on the servers and they have goofy LoL! tnx ;) bindings and such and they never respond to you... it's because of this pirated version.

    That aside, there may be some issue in a serverinfo string or other nonsense that may be stopping it from parsing the list, but a verbose debug output might show the server with a malformed string. Until I can get a new linux compile for you to test I can only speculate as to what the problem is.

  7. Purkkaviritys reporter

    The point I was making was that sometimes even when you own a real copy it's just easier to grab a zipped copy online very quickly instead of looking around for the CD or dealing with an older installer that might have issues, stupid copy protections that make installing on new systems difficult, etc.

    I don't do that. It's easier for me to just connect to my NFS server in LAN and fetch the stuff from there if I have to. My internet connection is 1/1Mbps which you can probably understand makes the practise you describe pointless and complete waste of time.

    Open up your Steam. You haven't been online for 18 days. And I want to talk with you. I mean if you can of course and you don't have anything better to do.

  8. Frank Sapone

    Is this still a problem? And are you hosting the server on the same machine or through your LAN from another PC?

    The overspill looks like gamespy's SDK not parsing the serverinfo properly to get the statistics it needs for the map name, hostname, and number of players. So there may be a linux specific codepath in that SDK that's not breaking when it should.

  9. Purkkaviritys reporter

    This issue still exists in the current build. I just tested that. I cannot make a LAN server appear in the local games but if I for example join any internet game and then take a look at local games browser it shows corrupted string which starts with the local server name...

    Kuvakaappaus - 2016-07-20 14-36-48_small.jpg

    Update 1: This is what I see when I use Linux dkded to make a LAN game and join into that game using the same Linux machine.

    If I host the dkded in Windows-PC and then join from separate Linux-PC to that LAN game it shows correctly in the local server browser.

    If I host the dkded in Linux-PC and then use Windows-PC to join it the Windows doesn't see the Linux dkded in local game browser automatically regardless of what you do. If you type the address and click "join" nothing happens. However if I join any internet game and then manually type the address into local games browser it magically comes up and then I can join it.

    Update 2: If I press enter after typing the address on Windows-PC even if I haven't previously joined any internet games the local Linux-PC dkded server comes up in Windows-PC's local server browser.

    Update 3: However that doesn't work in Linux-PC. I tried two different Linux-PCs and to join locally from another Linux-PC to another Linux-PC hosting the dkded you always seemingly have to manually type the server location.

    Update 4: I can try and change the port but that doesn't really change anything...

    Kuvakaappaus - 2016-07-20 15-10-43_small.jpg

    Any Linux-PC which is running dkded doesn't show it in their local games browser but it can be forced to do by joining any internet based game and then looking at the local games list in which case the string in browser is corrupted like this.

    However it can join its own server and play the game and in that regard everything works just fine as far as I've tested it.

  10. Frank Sapone

    Also are you referring to hosting the server on the same PC that you're trying to reach from teh in-game browser? Because this is normal that it wouldn't show up. Even on windows if you host the server on the same machine it won't show up because of WSAECONNRESET or a similar error.

    I ran a linux ded server and could see it in windows, and in windows I hosted a dedicated server as well and check the local browser in linux and it showed the server. Is public "1" set in your server config? It it's not the browser isn't going to show it either.

  11. Frank Sapone

    I also see "wrong version" in this packet. Are you hosting a 1.2 server or an old protocol version server?

  12. Frank Sapone

    I think I might know part of the issue. Set Developer 8. Then run "slist" in the console and tell me the output.

  13. Frank Sapone

    The updated debug build I gave you recently... do this fix your problem now? Can we close this bug?

  14. Log in to comment