Author Topic: Multi FAQ 2019 -- Bug Reports and Advice Welcome!  (Read 1748 times)

0 Members and 1 Guest are viewing this topic.

Offline Cyborg17

  • Moderator
  • 29
  • A-1 Supar
Multi FAQ 2019 -- Bug Reports and Advice Welcome!
If you haven't yet heard, FSO multi has suffered from a lack of experienced network coders and from a lack of interest.  However, multi is still available and playable, even though it's not perfect.  So let me answer some quick questions and then get into some of the major issues still holding us back.

What is the easiest way to play *right now*? 

If you trust who you're playing with:
1. Share your IPs and add them to the multi section of the options screen. 
2. The host should forward their ports, just in case, otherwise other players may not be able to see their game.
3. Kill Shivans.

Do I need a pilot just for multi, like in retail?

No. With the new pilot code, single and multi pilots are merged. You just need to switch modes.  :cool:

How do I get to multiplayer in FSO?

You need to switch to multiplayer mode in the pilot selection or barracks screen.  The toggle is on the top right of the pilot list.

Once you are in the mainhall, in multiplayer mode, just select the ready room, like you are about to continue a campaign, and you should see the game selection screen.

What's actually wrong with multi?

Non-server players (clients) are not able to score hits reliably, even when hit effects appear.  This comes with the multiplayer territory, but is more pronounced in FSO.  Keeping your ping below 100, when possible, makes the issue less noticeable, so the host should likely be the person with the highest internet upload speed.

How can I optimize my multi experience??
  • Make sure you set the update rate to LAN in the multi settings screen, regardless of your connection speed. FS caps the bandwidth it uses based on these settings, but they were designed for connections from 1999. LAN has the least restrictive limits.
  • Be aware of the lock button on the far right of the load out screen that allows you to pick your own ship and load out.
  • Be aware that collision detection can be inaccurate, even for ship-ship collisions.  One recent test, I died because, while flying 1-3 meters above a Moloch, I was detected by the server as running into it.
  • Make the AI the bombers.  The odd collision detection makes being a bomber even worse than normal, so let the AI do the hard work for you.  ;)
  • Remember that missiles may have lost their lock on your machine, but can still be tracking you on the server. Be more cautious as a multi client than normal.
  • Again, make sure the host is the player with the highest internet upload speed.  This will ensure that object update packets get to you the quickest and you have the smoothest experience.

Are PXO and Squadwar going to come back?

Taylor is currently implementing a version of PXO.  The FSO side is, last I heard, nearly finished.  I believe I have heard whispers of Squadwar eventually coming with that, but that is probably further down the line.

Is anyone actively working on the actual guts of FSO multi?

Yes, but since we're not professional net coders, we don't fully know what we're doing.  The next section will better describe what we have done, next steps, and our ultimate goals.

What we've done:

1. We've verified that the networking fundamentals of the engine are sound.

2. We've fixed numerous bugs.

3. We've looked at options for improving ship interpolation. (where the engine guesses ships are on the server)

What is on the horizon:

1. Assessing how the actual bandwidth is being used during normal play and then perhaps making changes based on those results.

2. Figuring out if the engine should be limiting communication between the server and client at all anymore.

3. Improving hit detection.

4. Improving interpolation perhaps via a new interpolation algorithm.

5. Finish nuPXO and perhaps Squadwar.

6. Increase the number of multiplayer sexps available.

What's the endgame?

Multiplayer that is: Fun. Enjoyable. Reliable. Easy.

What can I do to help?

Play regularly and host servers!

Report bugs.  If you aren't respawning correctly or you are having trouble connecting, open a github issue.

Test the new PXO system once it is finished.

This post will be updated and improved as time goes on.


Offline Cyborg17

  • Moderator
  • 29
  • A-1 Supar
Re: Multi FAQ 2019 -- Bug Reports and Advice Welcome!


Offline wookieejedi

  • 29
  • Intensify Forward Firepower
Re: Multi FAQ 2019 -- Bug Reports and Advice Welcome!
Just updating here (thanks taylor and Cyborg for all your work and info!!):

Make sure your firewall allows the FSO executable for both public and private networks.

PXO will usually take care of auto-port forwarding so you will usually not need to setup port forwarding.

If you want to know if port forwarding is working then log into PXO, create a game then view the multi.log file in a text editor to check for the line:
Code: [Select]
Port forward => Initialized successfully
Also make sure that the following line is not present, because that means the port forwarding failed.
Code: [Select]
Port forward => PCP server <whatever the IP address is> failed to respond. Disabling sending of PCP messages to this server for 60 minutes.

To connect without using PXO:
1) Both the host and all clients need to determine their public IP address. You can Google `My Public IP Address` if you are unsure.
2) The clients need to open FSO and then go to Options->Multi and then add the host's IP addresses there. Make sure PXO is not selected, and that LAN is selected. Click Accept.
3) Once the client has done that the host should open FSO and then add all client IP addresses. Make sure PXO is not selected, and that LAN is selected. Click Accept.
4) Have the host make a game. The host should only make a game once everyone has entered their respective IP addresses and clicked Accept.
5) Once the host makes a game it should now be findable and joinable for the clients. 

If you are having issues not seeing PXO games then do the following steps above, but just ensure that the PXO button is on.

« Last Edit: April 30, 2020, 01:12:06 pm by wookieejedi »