Author Topic: Any Plans for Multiplayer Support?  (Read 2730 times)

0 Members and 1 Guest are viewing this topic.

Offline Aardwolf

  • 211
  • Posts: 16,384
    • Minecraft
Any Plans for Multiplayer Support?
Has anything been planned / considered?

I reckon keeping players from cheating might be a bit challenging... Comments / some word from someone knowledgeable?

 

Offline takashi

  • Better than TrashMan
  • 29
Re: Any Plans for Multiplayer Support?
Cheating is no big deal anyways, and anticheat would be nasty for small-time mod makers testing multi ability. This was annoying on freelancer with empty servers and mod esting, but you could make your own server....and a mod-must-match-up with the host type of thing (freelancer had FLAC) would make mediaVPs a must.

Anyways, since everything is fine, what multiplayer needs is ACTIVITY.

 

Offline Topgun

  • 210
Re: Any Plans for Multiplayer Support?
If somebody cheats, why not just not play with them?

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Any Plans for Multiplayer Support?
all youd really nedto do is crc the scripts to make sure everyones using the same code. then its a matter of writing script thats multi friendly. though handles to player ships, and info on multi stats would be nice.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Aardwolf

  • 211
  • Posts: 16,384
    • Minecraft
Re: Any Plans for Multiplayer Support?
If somebody cheats, why not just not play with them?

It's the subtle cheats that would be problematic. Think how hard it would be to tell if someone had an 'aimbot' in FS2.

 

Offline Wanderer

  • Wiki Warrior
  • 211
  • Mostly harmless
Re: Any Plans for Multiplayer Support?
There is already a rudimentary MP support.. It is untested though but it should work. That is in wanderer branch when MP master saves a something into a networked SEXP variable it will be broadcast to rest of the players to that specific variable. As that branch also allows for the scripting to ID which type of machine its running on (MP client/master/server/standalone) that method can be used to transmit data over the network.

Cheat prevention would basically be the same as with rest of the table files (except it would need to be extended to .lua etc files possibly used by lua scripts).
Do not meddle in the affairs of coders for they are soggy and hard to light

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Any Plans for Multiplayer Support?
How did you actually do it Wanderer? Can you tell me which commit? Cause I was thinking of deprecating the SEXP Variable packet and making the SEXP packet carry that info as it can do so much more efficiently (Every change results in a new SEXP Variable packet while the SEXP packet can package and send at least 12 variables per packet.

If you've simply made scripting pass changes by having the FREDder use the modify-variable SEXP and setting it with the value of the script-eval SEXP then there is no issue. If however you're calling send_variable_update_packet() directly from the lua code I obviously won't be able to remove the packet. It's not a huge issue. Either way is should be able to make the changes I want to make. I'd just like to know which way round you did it so I don't tread on your toes. :)

There is already a rudimentary MP support.. It is untested though but it should work. That is in wanderer branch when MP master saves a something into a networked SEXP variable it will be broadcast to rest of the players to that specific variable. As that branch also allows for the scripting to ID which type of machine its running on (MP client/master/server/standalone) that method can be used to transmit data over the network.

I think you'd need a couple of changes to the SEXP Variable packet before you could use it to allow clients to update the server using it. For a start you'll need to turn off the bit of the code that simply makes it return whenever it's not on the multiplayer_master. :D

If you want to do this though the changes should be relatively simple. You may also need to add another variable flag to determine whether a client is able to set a network variable as you'll probably want some changes to only go from server to clients. Having to set a flag to allow this may be a necessary level of protection. Again, the changes required wouldn't take long (probably twice as long in FRED as everywhere else in fact).
« Last Edit: May 07, 2009, 07:19:27 am by karajorma »
Karajorma's Freespace FAQ. It's almost like asking me yourself.

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