Jump to content
Sign in to follow this  
KrazySwede

Preventing a mission from being rehosted by a client

Recommended Posts

Is there any way to prevent a mission from being rehosted by a user who has played the mission? I'm referring to the PBO copy of the mission that ends up in the MPMissionsCache folder which can then be moved to the MPMissions folder and hosted.

Share this post


Link to post
Share on other sites

No disrespect but this makes me sick that players have this view of ownership. It goes against the foundation that build and makes the arma community so great. The concept of sharing work so others can enjoy and expand on the work. This is how

The community grows and the overall game experience is endless. What if Bohemia said no one can change any of the game content . How would arma look then.

Share this post


Link to post
Share on other sites

@AVIBIRD 1

no trolling please. If the OP wants it that way, it is legit.

@KrazySwede

the only way would be to move scripts to a serverside addon pbo. So the missionfile itself wouldn't contain those scripts and therefor the mission couldn't be hosted.

Share this post


Link to post
Share on other sites

No, there is no way to disable the misson from being put into the MPMissionsCache folder.

@ Myke

This would require players to add that addon pbo to their starting parameters and have it DLed if it includes things that have to be done client-side.

Share this post


Link to post
Share on other sites
@ Myke

This would require players to add that addon pbo to their starting parameters and have it DLed if it includes things that have to be done client-side.

Myke;2339292']serverside addon pbo

I think it's safe to assume this means serverside content only.

Share this post


Link to post
Share on other sites

@trytreker

IIRC it can be done. Script snippets can be stored into variables and those can be broadcasted from server to client on mission start or on JIP.

My_Function = {
  code;
};
Publicvariable "My_Function";

And the clientside:

[params] call My_Function;

I must be horribly wrong if this method shouldn't work.

Share this post


Link to post
Share on other sites

I'm by no means expert on hosting (infact I have 0 experience with that, just talking from a mission makers perspective) and I do little MP scripting, but I wonder how are you going to call the function if it is in a seperate pbo? Missions can't execute anything outside their mission folder as far as I'm aware.

Share this post


Link to post
Share on other sites

Yes myke I know. I am sorry for my outburst but the mind set still gets me sick lol.

Share this post


Link to post
Share on other sites

Well, serverside you can launch a init script which wraps the functions into variables:

my_fancy_function = {
  ....somecodehere;
  ....somemorecode;
};

PublicVariable "my_fancy_function";

This will broadcast the variable "my_fancy_function" which contains the code to all clients. Similar has to be done for JIP clients (onPlayerConnected).

So from the client you can just call this function by calling it's variable name:

[parameters] call my_fancy_function;

Share this post


Link to post
Share on other sites

Yes but this function has to be inside the mission folder, which in turn would cause the scripts to be accessible by dePBOing.

Share this post


Link to post
Share on other sites

Best way is to offload as much as you can to the server, making the mission largely unplayable if someone tries to run it without the server parts. (All enemy creation, positioning stuff etc)

Share this post


Link to post
Share on other sites

@AVIBIRD 1: I understand your frustration, but I have no patience for those who edit and host my mission as their own against my expressed wishes. That is why I am spending time trying to implement this feature instead of making missions.

Thanks for the suggestions. Couldn't it be called from a script in the regular Scripts folder (ArmA 2 Other Profiles\Me\Scripts), since these are not sent to the client? But even so, what I can't get my head around is how to call the function in a way that can't simply be edited or removed after de-PBOing the mission.

Share this post


Link to post
Share on other sites
Yes but this function has to be inside the mission folder, which in turn would cause the scripts to be accessible by dePBOing.

Nope, it doesn't. An addon can have it's own scripts which are mission independent, like, as example, several init scripts that already are widely used. CBA does it, ACE does it. It's no biggie to have a serverside addon that becomes automatically active on mission launch, independently of the mission itself.

Share this post


Link to post
Share on other sites
...I have no patience for those who edit and host my mission as their own against my expressed wishes.

You certainly have a right to keep your IP private, but as was already mentioned, that kind of runs counter to the overarching philosophy of the Arma modding community. Why not release your scripts/missions/whatever officially? That way, it's on record that you are the creator.

Anyway, sticky subject. Best of luck.

Share this post


Link to post
Share on other sites

Myke

Does the script search not first check the initial pbo forthe location, and then check any additional Addons running within the server, ie @serverside for the correct path for the script location..

I'm sure I did it when calling a few scripts that I was working on and didn't want to download upload the full mission everytime I made changes.. As long as the file structure is the same as being called then it will work,perfectly well..

@krazyswede

Although, I would encourage you to change your mind, as this community thrives on the sharing aspect, and the help that each one of s receive and try to give back...

Share this post


Link to post
Share on other sites

@Harzach and marker

It's not something I am looking to do with everything I create for Arma, I just want to have the ability to keep some content private without being confined to a password-protected server.

The PBO approach sounds interesting, but [ASA]ODEN suggested a solution with the same idea as alleycat - keeping it all on the server. I simply put my mission script in my Arma 2 folder (using subfolders) instead of the mission folder to prevent them from being PBO'd and cached to clients.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×