Members | Sign In
All Forums > Mission Scripting

Missions copied to clients - always?

posted Mar 26, 2013 03:48:56 by LawsonThompson
Can someone explain what particular scripting events require a client to have a copy of a mission script, instead of just the server having it?

Asked another way: Is there something in custom scripts we avoid using to reduce the chance of confusing a client which doesn't have access to the entire mission script? (iOS, Android, remote PC joining over the Internet, etc).

I suspect that anything which brings up a VIS (3d external) view is going to need any custom ship bits; not sure on sounds though.
page   1
2 replies
therealisa said Mar 26, 2013 12:29:44
As far as I know, if your scenario does not rely on custom meshes, via the unique id or loading it in from a specific file, and does only include media files that are played only on the main screen (I think that is the only option anyway), then you do not need to include your mission script with the clients, just the computers that run the main screen/simulation. So to make stuff work with iPads/Android devices, do not "force load" custom meshes, but use the raceKeys/hullKeys properties and edit the vessel[List?!].xml file on the server/add the mesh on the server so at least at the main screen you see the meshes you want to show.

On the clients you can then fall back to the standard meshes that are included with artemis by default (using said key-properties).

That said, I have to admint that I do not have too much experience with loading in custom meshes. I did not succeed to do it until now, but also did not try very hard (my short tests just kept crashing the game). The answer is a compilation of my knowledge about the game, and assumptions about how the underlying code is programmed... but I am relatively sure because of what I accomplished with my iPad/PC setup and custom missions right now...

Happy scripting!

Mike_Substelny said Mar 28, 2013 15:48:46
Therealisa is right. The problem is that each console is capable of displaying anything that appears on the main viewer, so the moment a custom generic object is spawned anywhere in the game every console searches its Missions folder and loads the mesh and its skin into memory. If a console doesn't find the mesh or skin file it will crash immediately.

I've discussed this with Thom and he agrees that it is a flaw in the Artemis program. Some future version of Artemis will allow the server to share its mesh and skin files with all of the consoles over the network. When this happens only the server will need a copy of the mission folders.

But for now, most missions do not use custom generic meshes, so they will work fine without copying the mission script to all of the consoles.
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
Login below to reply: