[EL 2.0458] Multiplayer connection (server ports and password) *INFO*

For help with SW3DG game related technical issues.
User avatar
BlackFox
Ensign
Ensign
Posts: 14
Joined: Mon Jul 23, 2012 1:28 am

[EL 2.0458] Multiplayer connection (server ports and password) *INFO*

Post by BlackFox »

Good morning,

I have discovered a couple items that have me stumped and hoping for some clarification if I've missed something obvious.

First item. My wife and I have a multiplayer server setup on our LAN network. In the text8.dat file I did not specify ports as I had assumed (and if I recall from document reading) the defaults were 29888 TCP and 29889 UDP. I had not specified an external IP at the time, only the internal IP to the machine running the server. We are running the NO-GUI version of the server and so far we both have been able to connect and play together.

We have a couple of people in our flight group that are planning to buy EL and wish to play along with us on our MP server, so on this weekend that passed I decided to get things prepped. First, I added my external IP in the text8.dat file and set the line 502 to value of 1. I also had set the port forwarding on our router with 2 entries- 1 for port 29888 TCP pointing to the internal machine; 1 for port 29889 UDP for that same machine. When I log in now using the External IP address, I get the following..

Code: Select all

-> < Welcome to the Outer Rims >
< Connection failed, no response from server on UDP port. > (1)
-> < Welcome to the Outer Rims >
< Connection failed, no response from server on UDP port. > (2)
< Docking tractor beam engaged >
< Close inventory console to disengage >
< Welcome to Rucker Outpost >
...but I can still play on. If I use the internal IP to connect I receive the same thing. Then something I noticed- when you select the pilot profile, in the right panel you can input the IP address to connect to. I clicked on the TCP/UDP ports and notice the TCP set to 29888 and the UDP set to 29890. So I changed the UDP to 29889 thinking that was why I received the above in my log, but still get the same thing. I then tried another attempt- this time changing my server to use 29888 TCP and 29890 UDP, reset the port forwarding to match, and tried again in my game since the ports always seem to be set to 29888 and 29890 when the game opens. Still get the same "connection failed, no response from server on UDP port". Regardless, we can still play and nothing else is out of the ordinary. So this has me puzzled and is the first item to try and solve.

Second item. In the multiplayer server text8.dat file.. the line 900 allows for a default password for the server. I had taken that to mean when one connects they would be prompted for the password, so I gave that a test this morning. I set a password and started the server. Once I connect to the IP address of my server, it goes through the normal process, checklists, etc and when the "Start up : 5" displays, the screen goes black and then I see a blue box appear briefly then the session quits and I am back at the main menu. I assume where I saw this box is the challenge response to enter the password?

For us, these are not deal breakers. I just wanted to bring this forward because it is driving me to the brink of needing to solve (it's the IT side of me) and already have got over the manual 5x and a vast amount of coffee. :)
User avatar
Vice
Administrator
Administrator
Posts: 11558
Joined: Fri Apr 25, 2003 1:38 am

Re: [EL 2.0458] Multiplayer connection (server ports and password)

Post by Vice »

I'll go over each of the topics below:

1 - Connection failed on UDP port notice
This indicates something blocked your client from communicating with the server on the UDP port (from the client to the server on port 29889, from the server to the client on port 29890, or both). This can be caused by router settings, a firewall, or network device behavior. The game can detect this failure and work around it, but it's not an ideal connection scenario. The game will attempt to reach out to the server twice over UDP. If it fails both times, it will drop back to a TCP only mode through the initial handshake process that takes place on that protocol. It's not as good for performance, but if you are connected to the server over LAN, it won't matter as much anyway. So you can continue to play that way until you are able to sort out what may be blocking the client from communicating over UDP to the server.

The UDP ports are 'listeners'. That is, they are effectively one way communication routes where packets can be received, but not sent out over the same port that a system is listening on. There are several technical reasons for this, not the least of which is enabling a client to host and play on the same system. Anyway, the server uses port 29889 to listen on globally for all clients. So all clients will be sending packets to the server on its listening port 29889. Clients will locally listen on port 29890 for inbound traffic from the server. So it is normal for the server to have a unique listening UDP port compared to clients. Both ports can be left at the default 29889 for the server and 29890 for all clients, unless some custom arrangement is needed (and it shouldn't be in your situation).

2 - Passwords
Yes, your exit was likely due to not providing a password. Passwords are designed for public multiplayer hosting with a server listed using the public listing system. The markers on that system instruct the game to prompt the player for a password when connecting to such a listed server. Passwords aren't generally needed for private IP/LAN sessions, but you can specify a password if you want to. If you only want to play with friends and family, I would recommend just setting up a private session (direct IP only, not listed publicly, leave line 502 in the text8.dat file set to 1) and inform those you want to join of the external internet IP address to connect to. That way, they can simply connect with that IP once your network configuration is set up to receive them.

Now if you want to force a password for such a private session (with no prompt) you can do so through the use of a text file named 'multipassword.txt'. Simply create a file by that name and in the first line, enter the password you have specified on the server. The file then needs to be placed in either the game's \media folder or the save data folder (default \Documents\EvochronLegacySE). Once the file is in place, the game will load and send it to the server for verification at the time of connection. You can then share that text file with others you want to join your session. However, if you keep your session private and use direct IP for connecting, you shouldn't need a password.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
User avatar
BlackFox
Ensign
Ensign
Posts: 14
Joined: Mon Jul 23, 2012 1:28 am

Re: [EL 2.0458] Multiplayer connection (server ports and password)

Post by BlackFox »

Thank you Vice for the details. Based on that info you provided, I traced my issue to my *secondary* firewall. The primary router and firewall is fine (ports are entered as they should be), but my secondary firewall for some reason did not save the UDP port entry when it was added to the table. I redid the table and now it is corrected.

Appreciate your time, and thank you.