Jump to content

Custom scenario in multiplayer mode


Cyberpangolin
 Share

Recommended Posts

Hello!

As it's my first post, I wish to congratulate and thank the whole team for your game!

I wish to submit an issue I had in multiplayer mode, and I could not find after googling: I wanted to try with other people on the multiplayer hall a custom scenario I have been working on for hours. I already tried it alone with petra bot, it works great (except some lags due to petra); but when I want to play with people, they simply get disconnected. This happens probably because they don't receive the map at all.

Now the question is: what can we do of it?

The simplest answer is probably: the server should send it automatically on loading, or even start the transfer when the player says "I'm ready".

Another question: is there any plan to make saved games loadable for multiplayer games? EDIT: WHOOPS:

  • Multiplayer savegame loading #1088 (into the treasure committee topic)

 

As I am no dev at all, I wish to reward the dev team for implementing it with a donation. Thanks in advance :).

Edited by Cyberpangolin
Link to comment
Share on other sites

The easiest way for now is to zip up the map files (the .xml and .pmp files), and send it to your fellow players in advance (don't change anything to the maps after sending it).

In the future, maps should be put into mods, and it should be easier to create and install mods.

Link to comment
Share on other sites

Why would we limit great mod functionality to just maps?

From our perspective, it's about as hard to send files on the fly for generic mods as it would be for maps alone (I'd even argue that generic mods would be easier by now, given the parts of the infrastructure we already have in-place). So I see no reason to limit the functionality to maps alone.

And to turn your map into a mod, it just has to be zipped with a bit of meta data. This could very well be done as an "export" option in Atlas.

Link to comment
Share on other sites

Of course! Maybe we didn't understand each other. I never wanted to say "mods are bad, please limit exchanges to maps".

So, maybe I should change my question to "will there once be an automatic mod download when you start a new multiplayer game and you don't have the requested mod(s)already?" The goal is still the same: not have to look for a mod for minuts and lose time tweaking instead of playing.

I understand it's not that easy, but it's possible for sure, and it would make this great game even better! =)

EDIT: Crossing posts, thanks for  the answer :D

Edited by Cyberpangolin
Link to comment
Share on other sites

Yes, there's a crude outline to what should happen:

  • One of the first things is making it possible to install mods by just opening a *.pyromod file with 0 A.D. (instead of copying the files manually to the right place, which causes some confusion).
  • Then the lobby should also display the installed mods, and possibly link to a page defined in the metadata.
  • And a final step would probably be to enable direct downloads (if that doesn't give a security issue).
  • Like 1
Link to comment
Share on other sites

2 hours ago, sanderd17 said:

And a final step would probably be to enable direct downloads (if that doesn't give a security issue).

How about each mod having a digital signature with the proper signature registered on the server.Would need some infrastructure to approve said signatures though.

Enjoy the Choice :)

Link to comment
Share on other sites

Signing mods also won't fix the use-case of someone just making a map and others being able to download it right afterwards. Also given that maps and mods can execute nearly arbitrary code (some limitations in some places) I would consider adding automatic downloading of that a security issue.

Link to comment
Share on other sites

34 minutes ago, leper said:

Signing mods also won't fix the use-case of someone just making a map and others being able to download it right afterwards. Also given that maps and mods can execute nearly arbitrary code (some limitations in some places) I would consider adding automatic downloading of that a security issue.

What if it was sent to the metaserver, that would make an analysis (virus-scan), add it into a repository with the nickname and the adress, and then send it to concerned players? Any mod/map would stay into that repo for, say, 1 month, for traceability.

Something else: there could be security parameters for automatic download: always accept, always accept objects without any script, or always ask.

About code / scripts: maybe it could be a good thing to make sure they can never interact with the HDD when activated. Probably it's possible to activate them in a separated thread insulated from anything else, like with a firewall, with only a few actions authorised (IE: exactly what is needed to play). Being no programmer, I apologize if it's redundant or too complicated related to existing things.

 

 

Link to comment
Share on other sites

That could be an issue with being allowed to redistribute mods, also someone uploading something who doesn't have the rights to do so. Automatic scans for not yet known things are useless. Being able to disable automatic downloads is a necessity if someone actually wants to do something like that. Scripts shouldn't be able to access the disk directly, but given the possible number of exploitable bugs in the code that executes them (which is partly due to no thought being given to doing that with untrusted code (and running untrusted code is not something one should really do anyway)) and the used libraries.

  • Like 1
Link to comment
Share on other sites

Other games like Starcraft that have mapmaking communities and automatic map sharing, also have a safe language for map triggers, so that maps can't use arbitrary code.  They are sandboxed like browser JS.  Sandboxing map scripts would be necessary for automatic map sharing.  Or, only allow automatic sharing of maps that have no scripting.

  • Like 1
Link to comment
Share on other sites

Our mods are also sandboxed, and shouldn't be able to get access to random files, or get access to system memory. So at most they would be able to crash the game.

But it all depends on how good the sandboxing is. It's easy to have a bug that suddenly does expose parts of the filesystem or memory. That said, SpiderMonkey is made to execute scripts from unknown origin (scripts from webpages), so the sandboxing on their side should be done quite well.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 21 de junio de 2016 at 9:19 PM, causative said:

Other games like Starcraft that have mapmaking communities and automatic map sharing, also have a safe language for map triggers, so that maps can't use arbitrary code.  They are sandboxed like browser JS.  Sandboxing map scripts would be necessary for automatic map sharing.  Or, only allow automatic sharing of maps that have no scripting.

I love that, but the team doesn't have that logistic.( IMHOP)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...