View Issue Details

IDProjectCategoryView StatusLast Update
0000676FSSCPmultiplayerpublic2006-06-15 14:54
Reporterkarajorma Assigned Tokarajorma  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0000676: Variables are only reported correctly on the host machine in multiplayer
DescriptionWhen using any type of variable in a multiplayer mission the Host machine may use that variable in any way. Client machines however will only ever use the default value of the variable. This means that clients can't use variables in messages and can't use any SEXPs that have a local effect (change-model etc) although you can do things like setting the hull of a ship to the value of a variable.
Additional InformationAn example of a mission where this error is fairly obvious can be found here

http://www.hard-light.net/forums/index.php/topic,37147.0.html

The client will only see the default value of the variable in messages (A ship) while the host will see the name of the ship alter.
TagsNo tags attached.

Activities

karajorma

2006-06-01 22:09

administrator   ~0005701

Yoink!

taylor

2006-06-02 01:46

administrator   ~0005703

Did you fix this? Cause I didn't, yet. I don't see any code in CVS regarding a fix so I was just curious.

karajorma

2006-06-02 06:50

administrator   ~0005705

Yep. I had a chat with Kazan about it and he confirmed what I'd noticed.

The sexp_modify_variable(char, int) function set the variable and then included this comment
    
    // do multi_callback_here

Followed by the closing brace. It appears V knew what needed to be done but simply forgot to actually do it :)

All that was needed was to add a new packet to pass on variable updates and the problem is solved. I'll need to do some testing with it online to be fully certain it doesn't cause any slow downs but it worked perfectly on my LAN.

taylor

2006-06-02 07:26

administrator   ~0005707

Ok, just don't resolve the bug until the fix actually hits CVS. I've made that mistake enough, and we don't need other devs doing it as well. :)

karajorma

2006-06-02 07:48

administrator   ~0005709

Actually I'm going to commit it now. I have tested it briefly online with a couple of other players and it worked fine. Probably just being overcautious earlier :)

Goober5000

2006-06-03 04:02

administrator   ~0005720

Make sure it also works in the fs2_open_3_6_9 branch. :) I had to add it manually because it was part of the same commit as your team loadout stuff.

karajorma

2006-06-15 14:52

administrator   ~0005847

Looks fine to me.

I'm marking this one resolved.

Issue History

Date Modified Username Field Change
2006-01-03 00:50 karajorma New Issue
2006-01-19 00:13 taylor Status new => assigned
2006-01-19 00:13 taylor Assigned To => taylor
2006-06-01 22:09 karajorma Assigned To taylor => karajorma
2006-06-01 22:09 karajorma Note Added: 0005701
2006-06-01 22:10 karajorma Status assigned => resolved
2006-06-01 22:10 karajorma Resolution open => fixed
2006-06-02 01:46 taylor Status resolved => feedback
2006-06-02 01:46 taylor Resolution fixed => reopened
2006-06-02 01:46 taylor Note Added: 0005703
2006-06-02 06:50 karajorma Note Added: 0005705
2006-06-02 07:26 taylor Note Added: 0005707
2006-06-02 07:27 taylor Status feedback => assigned
2006-06-02 07:48 karajorma Note Added: 0005709
2006-06-03 04:02 Goober5000 Note Added: 0005720
2006-06-15 14:52 karajorma Note Added: 0005847
2006-06-15 14:54 karajorma Status assigned => resolved
2006-06-15 14:54 karajorma Resolution reopened => fixed