Author Topic: Fixing the LAN so it's lagless...  (Read 4052 times)

0 Members and 1 Guest are viewing this topic.

Offline Unknown Target

  • Get off my lawn!
  • 212
  • Push.Pull?
Fixing the LAN so it's lagless...
Could this be done? We've got a big 200 person LAN coming up, and me and another guy were thinking about having an open FS2 server running through the whole thing, it'd be great if the game supported deathmatches (a la UT - midgame joining, etc), and multi that wasn't super laggy on the LAN connection.

Any progress/ideas?

 

Offline Shade

  • 211
Re: Fixing the LAN so it's lagless...
You could try using one of taylor's 3.6.10 Xt builds, those are inherently less laggy in my experience so it may help the problem some. Probably won't make it go away though. The 10/28 build would probably be the best pick, as later builds (not sure how much later, still testing that) have a sound problem in MP, but I know for a fact this one doesn't.

3.6.10 will also let you show off normal maps, which might raise a few eyebrows for a game this old ;)
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

 

Offline Unknown Target

  • Get off my lawn!
  • 212
  • Push.Pull?
Re: Fixing the LAN so it's lagless...
Well one of the major things that's needed is a more modern multiplayer environment, i.e. being able to join the game, view the scores by pressing a key, then leave the game and if you desire, rejoin it. I know mid-mission joining was being worked on, dunno if there's any progress on it though.

 

Offline n0s

  • 24
  • happy to have FS2O
Re: Fixing the LAN so it's lagless...
well, mid-mission joining would help online-gaming too, i'd say ;)

 

Offline Bob-san

  • Wishes he was cool
  • 210
  • It's 5 minutes to midnight.
Re: Fixing the LAN so it's lagless...
As long as you set unlimited respawns for games, that'd work. I don't think many people would sit for 5+ minutes while teammates complete the mission without being able to play. They'd probably leave the game and may try another. That, and basic training missions are a must.
NGTM-1R: Currently considering spending the rest of the day in bed cuddling.
GTSVA: With who...?
Nuke: chewbacca?
Bob-san: The Rancor.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: Fixing the LAN so it's lagless...
Aren't midgame joining and dedicated server both currently options that builds recognize?  I've never tested them before, but it sounds like it couldn't hurt to try.  There is a lot of interesting multiplayer stuff in the works right now I think, you could see how well you fare with one of Taylor's Xt builds from this month (2/22 is the latest right now I think).
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline CP5670

  • Dr. Evil
  • Global Moderator
  • 212
Re: Fixing the LAN so it's lagless...
Ingame joining is an option but it doesn't work at the moment, although people try to do it all the time and it creates some odd effects. If you are on a LAN though, you shouldn't get the random dropouts that occur online.

Quote
As long as you set unlimited respawns for games, that'd work. I don't think many people would sit for 5+ minutes while teammates complete the mission without being able to play. They'd probably leave the game and may try another. That, and basic training missions are a must.

Unlimited respawns are not needed. The new player can simply take an AI's spot and inherit whatever respawns it has left, although I guess he would be stuck with the AI's ship and weapons.

 

Offline Shade

  • 211
Re: Fixing the LAN so it's lagless...
Quote
although I guess he would be stuck with the AI's ship and weapons.
Man, that would really suck on a mission like odd_m02 (robin hood) :p "Hi! Welcome to the game. You've got a boanerges with a circe and a full load of stilettos. Now go make yourself useful."
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.

  

Offline Bob-san

  • Wishes he was cool
  • 210
  • It's 5 minutes to midnight.
Re: Fixing the LAN so it's lagless...
The problem I was having is the launcher refused to launch--it gave me a DirectX error because it was an old OS, so I couldn't flag it properly.
NGTM-1R: Currently considering spending the rest of the day in bed cuddling.
GTSVA: With who...?
Nuke: chewbacca?
Bob-san: The Rancor.

 

Offline feltoar

  • 25
    • Economical Gamer
Re: Fixing the LAN so it's lagless...
As long as you set unlimited respawns for games, that'd work. I don't think many people would sit for 5+ minutes while teammates complete the mission without being able to play. They'd probably leave the game and may try another. That, and basic training missions are a must.
Im not so sure. On Xbox Live people are usually patient enough to wait. Especially in games with low participation.

 

Offline Bob-san

  • Wishes he was cool
  • 210
  • It's 5 minutes to midnight.
Re: Fixing the LAN so it's lagless...
How about this--mid-mission changes in ship and weapon? So, after half the mission is completed, your next death triggers an optional Ship & Weapon tab to change your ship and weapons on the quick. Obviously it won't be on a Gauntlet, but I see no problem with it on Team games (not Co-Op, since missions are usually 10-15 minutes long it seems).
NGTM-1R: Currently considering spending the rest of the day in bed cuddling.
GTSVA: With who...?
Nuke: chewbacca?
Bob-san: The Rancor.

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Fixing the LAN so it's lagless...
Quote
// --------------------------------------------------------------------------------------------------
// INGAME JOIN DESCRIPTION
//
// 1.) Joiner sends a JOIN packet to the server
// 2.) If the server accepts him, he receives an ACCEPT packet in return
// 3.) The client then moves into the INGAME_SYNC state to begin receiving data from the server
// 4.) The first thing he does on this screen is send his filesig packet to the server. At which
//     point the server will either let him in or deny him. There are no file transfers ingame.
// 5.) The server calls multi_handle_ingame_joiners() once per frame, through multi_do_frame()
// 6.) After verifiying or kicking the player because of his file signature, the server tells the
//     player to load the mission
// 7.) When the mission is loaded, the server, sends a netgame update to the client
// 8.) Without waiting, the server then begins sending data ship packets to the player
// 9.) Upon confirmation of receiving these packets, the server sends wing data packets
// 10.) Upon completion of this, the server sends respawn point packets
// 11.) Upon completion of this, the server sends a post briefing data block packet containing ship class and
//      weapon information
// 12.) After this, the server sends a player settings packet (to all players for good measure)
// 13.) At this point, the server sends a jump into mission packet
// 14.) Upon receipt of this packet, the client moves into the ingame ship select state
// 15.) The first thing the client does in this state is load the mission data (textures, etc)
// 16.) The player is presented with a list of ships he can choose from. He selects one and sends
//      an INGAME_SHIP_REQUEST to the server.

// 17.) The server checks to see if this request is acceptable and sends an INGAME_SHIP_REQUEST back
//      with the appropriate data.
// 18.) If the client received an affirmative, he selects the ship and jumps into the mission, otherwise
//      he removes it from the list and tries for another ship
// --------------------------------------------------------------------------------------------------

From the sound of it the player is allowed to pick his ship from whatever is left in the loadout. I've not actually tried it yet though.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline CP5670

  • Dr. Evil
  • Global Moderator
  • 212
Re: Fixing the LAN so it's lagless...
Quote
Quote
although I guess he would be stuck with the AI's ship and weapons.
Man, that would really suck on a mission like odd_m02 (robin hood) :p "Hi! Welcome to the game. You've got a boanerges with a circe and a full load of stilettos. Now go make yourself useful."

I was thinking about the exact same thing after I submitted that post. :D RH is the only one where we've had to resort to that though, so we can just fix that particular mission.

Quote
From the sound of it the player is allowed to pick his ship from whatever is left in the loadout. I've not actually tried it yet though.

So does the new player see the entire briefing/loadout screen first, before actually entering the game?

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Fixing the LAN so it's lagless...
Haven't looked at the code yet. That's an old comment on how the system was meant to work. For all I know it's out of date by now. I only actually noticed that comment this week cause I opened the wrong file and kept reading. :)

It might be possible to add other steps in-between to allow weapon selection if need be. It also appears that at the end of a game all the people who did join are kicked. That will probably need to change too.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Re: Fixing the LAN so it's lagless...
Does change-ship-class work over multiplayer? If so, it might be possible to script a menu and then trigger that SEXP. You could even use persistent variables to set the ship name, so you could use script-eval-num and return 1 when the player selects something, and then use change-ship-class with a variable set by the script called by script-eval-num.
-C

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Fixing the LAN so it's lagless...
Unfortunately it doesn't. The SEXP doesn't do any sort of multi callback (along with about 90% of the new SEXPs).

But we could simply add a hook to the change_ship function that the SEXP uses and call that instead perhaps.

First thing to check is whether the game does all this already anyway though. :)
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Re: Fixing the LAN so it's lagless...
It doesn't do any good to add a scripting hook to the change-ship SEXP, unless SEXP variables are persistent across network connections. You could do something reaaaaaaaaaaly hackish if they are by using a variable to set a player name, another to set the ship they're switching to, and another to set the number of clients that still need to retrieve that info (decremented each time each client receives a new request).

Unfortunately two requests in rapid succession could possibly screw that up, along with clients disconnecting in the middle of a ship change update.
-C

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Fixing the LAN so it's lagless...
Ah. I see your point. In that case it's probably best to get it to work through the code rather than trying to fix it via Scripting. You can have variables pass information across the network but it's a one way flow from server to clients. It wouldn't be hard to fix it to allow two way flow though if scripting wants to use it.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Kazan

  • PCS2 Wizard
  • 212
  • Soul lives in the Mountains
    • http://alliance.sourceforge.net
Re: Fixing the LAN so it's lagless...
yes the ingame join gives them a ship seletion screen and the select.. works too... don't remember what weird effecst you get from in game joins
PCS2 2.0.3 | POF CS2 wiki page | Important PCS2 Threads | PCS2 Mantis

"The Mountains are calling, and I must go" - John Muir

 

Offline Shade

  • 211
Re: Fixing the LAN so it's lagless...
I'll try to test how well it works on recent builds this saturday. I haven't tried it for a while and lots of stuff may have been fixed since then.
Report FS_Open bugs with Mantis  |  Find the latest FS_Open builds Here  |  Interested in FRED? Check out the Wiki's FRED Portal | Diaspora: Website / Forums
"Oooooooooooooooooooooooooooooooooooooooh ****ing great. 2200 references to entry->index and no idea which is the one that ****ed up" - Karajorma
"We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct." - Niels Bohr
<Cobra|> You play this mission too intelligently.