Jump to content
dok381

how to protect the mission from theft?

Recommended Posts

Why will it kill the server? It all just ends up in missionNamespace ...

 

Hi mate,

 

If you PV a bunch of code to players as they join it will clog up the bandwidth and you'll end up with massive desynch.

 

To OP - Do as someone else suggested and Don't share it if you want to stop thieves.  Any measures you take are folly as someone can join, exec some sort of MP eventhandler on their "hack" and tell the server to send code to all clients (or just them).  As above, they would kill the bandwidth, but what do they care?  They're there to steal your mission.

Share this post


Link to post
Share on other sites

Hi mate,

 

If you PV a bunch of code to players as they join it will clog up the bandwidth and you'll end up with massive desynch.

 

To OP - Do as someone else suggested and Don't share it if you want to stop thieves.  Any measures you take are folly as someone can join, exec some sort of MP eventhandler on their "hack" and tell the server to send code to all clients (or just them).  As above, they would kill the bandwidth, but what do they care?  They're there to steal your mission.

 

And if you PV the code at mission init prior to any client join?

Share this post


Link to post
Share on other sites

Hi mate,

 

If you PV a bunch of code to players as they join it will clog up the bandwidth and you'll end up with massive desynch.

 

To OP - Do as someone else suggested and Don't share it if you want to stop thieves.  Any measures you take are folly as someone can join, exec some sort of MP eventhandler on their "hack" and tell the server to send code to all clients (or just them).  As above, they would kill the bandwidth, but what do they care?  They're there to steal your mission.

 

1. Exactly

2. Well same there ...

 

On some "hacks" there was even an option to get the data from the server.

 

Oh and if you send all your code via public var, I start my injected script, which logs me the whole mission variables, aaaand I got the code. But at least that prevents the 14 year old server owner, who can not buy such hacks from his pocket money - from stealing the mission just with joining on your server. But still not the best solution ;)

 

 

And if you PV the code at mission init prior to any client join?

 

 

Well, makes no difference ... where you call it when .. and I do not get what you mean by that ? "at mission init prior to any client join" ... ?

  • Like 1

Share this post


Link to post
Share on other sites

Oh and if you send all your code via public var, I start my injected script, which logs me the whole mission variables, aaaand I got the code. But at least that prevents the 14 year old server owner, who can not buy such hacks from his pocket money - from stealing the mission just with joining on your server. But still not the best solution ;)

This is not completely theft-proof. Someone that knows what they are doing can still take your scripts. However, this will require them to use an sqf injector, which is bannable by battleeye, or the debug box (just don't enable it on your server, bad idea anyway for multiple reasons).

...lol?

I already said exactly all that, you only used different words

Share this post


Link to post
Share on other sites

And if you PV the code at mission init prior to any client join?

 

Think of the process like this:

 

When you join a server, the server has to sync up a load of data (objects spawned in game, EH's on those objects, which trees and buildings are damaged etc).  It also sends any PVs over to you so you're all on the same songsheet.

 

So it doesn't matter when the PV is broadcast as it goes into a scheduler of sorts, which is processed as and when players join.

 

It's probably a bit more complicated than that, but that's the bones of it.

Share this post


Link to post
Share on other sites

Maybe I am not understanding, but I'm just curious about the PV method.

 

Lets say Life mission has, what, 1MB of scripts? That's a lot...

 

That really blocks a server? 1MB everytime a player connects?

Share this post


Link to post
Share on other sites

 

Well, makes no difference ... where you call it when .. and I do not get what you mean by that ? "at mission init prior to any client join" ... ?

 

1. server inits

2. on server machine: missionnamespace setvariable ['mypublicvar',3,true];

3. first client connects

4. on client machine: hint str missionnamespace getvariable 'mypublicvar' // 3

 

 

I have been using such method for long long time. server not dead and client fps still reasonable. i am curious at the performance cost of this method, but it has never been significant, despite 200+ vars (about 120 made accessible to clients).

 

So it doesn't matter when the PV is broadcast as it goes into a scheduler of sorts, which is processed as and when players join.

 

you referring to jipqueue or ... ? Is there any documentation as to how missionnamespace is synchronized when client joins?

Share this post


Link to post
Share on other sites

I think it's a moot point anyway as the client will need the scripts no matter what, so either include them in mission folder (downloaded once), or you can PV them each time.

 

As a received PV will sit in missionNamepsace, they can trawl through it during the mission with allVariables.

 

So really, a client will have to have the scripts reside in some form on their PC (either as text file in mission/mod folders or in namespace).

 

The only way around it would be some query/reply system like in Dayz SA so the client is dumb, requests data and the server runs the code then replies.  But again, the server can be raped easily enough by someone with moderate skill so it's all pointless imo.

  • Like 1

Share this post


Link to post
Share on other sites

I think it's a moot point anyway as the client will need the scripts no matter what, so either include them in mission folder (downloaded once), or you can PV them each time.

 

As a received PV will sit in missionNamepsace, they can trawl through it during the mission with allVariables.

 

So really, a client will have to have the scripts reside in some form on their PC (either as text file in mission/mod folders or in namespace).

 

The only way around it would be some query/reply system like in Dayz SA so the client is dumb, requests data and the server runs the code then replies.  But again, the server can be raped easily enough by someone with moderate skill so it's all pointless imo.

 

Just bc 1% of kiddies can do something, doesn't mean protecting against the other 99% is a waste of time. 

Share this post


Link to post
Share on other sites

Yeah but those 1% of kiddies have an internet connection and like to impress others by sharing your their mission   ;)

Share this post


Link to post
Share on other sites

you referring to jipqueue or ... ? Is there any documentation as to how missionnamespace is synchronized when client joins?

 

No docs, just looking at net traffic and googling around.  AFAICT, client joins and says "hello" to server, server then sends over mission state plus PV's and EH's etc, so if you whack say 5mb of data into a PV/some PV's , then that's added to the servers outgoing packet(s) at the point of a players connection.

 

You can test it yourself by running mission without PV's and then same but with some PV's thrown in and look at the bandwidth difference.

 

I would assume that the missionNamespace is setup far before any pre-init scripts are ran (as functions are available in pre-init).  Not sure when, but I would say "very early"  ;)

Share this post


Link to post
Share on other sites

Protecting your mission file from theft?

 

Firstly I doubt you can put your hand on your heart and say everything you have done with your mission has been 100% your work.

Meaning you have written all your own code, not taken snippets from others, your idea is innovative and not based on others and you havent used the research others have done which has allowed the B.I engine to develop to its state as seen today.

 

All the mission and ideas we have today have roots back to OFP, through Arma1, Arma2 etc

Everything we have today has only come about due to the open source nature of the Arma community and it saddens me every time I see a post like this, which darkens the spirit of the community I have spent over a decade being part of.

 

Anyone that wants to protect "Their" (Meaning slight edits of additions to somebody else's work) is doing it solely for economic gain. I have one word for them..........   PARASITES

To me its like Newton, stealing ideas from Hook then claiming it to be his own work.

and the players who pay for content on their servers really don't deserve the air they breath for 2 reasons, bloody stupidity and encouraging the parasites to continue their feeding

 

Fortunately for you, you can now binarise your mission.sqm, god knows why they put that functionality in.

You can code your mission so that the serverside uses an addon that is never released to the public, meaning you can code the mission scripts solely for clientside content. This way nobody has access to all the scripts the mission uses.

 

Your call.

 

I have never and will never do anything within this community that is not open source.

 

If your running a server and you used my tutorial on setting it up, then please pay me back for my efforts by not following this dark path

That effort was given fee of charge and to date has had 422948 views

 

Imagine how rich i would be if i charged for that knowledge which again is accrued from multiple sources. I just tweaked the info a bit and added a it more  ;)

  • Like 7

Share this post


Link to post
Share on other sites

When I say my code, I mean my code. For example yes ... My server is based on Altis life, but 90% of the files are completly changed, and at least 40% of the mission are systems, and script solutions, that no one else has ever done. 

 

People who change 1 thing and then call it their conent, yes I hate those too, as it is a lie.

 

Wow would not have thought, that this topic would be such a big deal.

 

I think, there are maybe 5% of the arma community who produced content, which is worth to protect. 40% of the other scripts are just a new remix of older ones, and the 55% are just script or parts of mission used in other, as the code or objects were a good idea from the orginial author. And from all the users mabye 40% give credits, and thoe 40% are the people coming from arma I & II. It might sound hard, but if you break it down, this is the reality.

 

But one good thing is: The people in the arma community, who make awesome things, are most likely arma veterans or mature enough, to not are about some bullshit money, or other people ripping their code. So the ones protecting their code, will fail. Their conent will not be very popular, if no no has the chance of edit it for their needs. If you make a mission, which is soooo badass, but no one can update it after an game update like the eden one now - it will loose all of its value and won't be noticed from anybody anymore.

 

People who already own a popular server, an often played gamemode / mission, might protect the mission for some time, until their new cool feature is know as part of the "insert name here" mission / addon. When he releases it now, the original owner had his fame, other people can not learn from it, and most of the poepl will give credits.

 

Koth, without sa-matra ? altis life without tonic ? No one can think about one of the names, without the mission he created, or think about the mission without thinking about the name.

 

I don't think there is the need to keep everything secret, this paranoid behavior will just slow you down.

 

I think this is not an big issue ... if you have got the skills to protect your mission, you are most likely one of those developer who are smart enough to give a shit on other people stealing code. I personally do not care if someone messages me with: Ohhh I got that code because you failed with security things. I smile and think, well done go take my code. If it was worth a lot of time to get, it must have got something good in it. If someone copies another persons mission, then he gives the original owner the largest compliment possible.

Stealing code from me = I wrote code, that other people could not create, and they think your code is sooo good, that they take alot of time getting it. 

 

This always makes me happy, and the people go crayz, because they think I would go and say, ohh no please do not make my files public, I pay you $$$ not to. Lol

 

It's a god dammn game, and its made so that everybody has fun. Some people forget that, espeacially altis life server owner, who think it would be a hard business, and care about player counts and donation money. Those people didn't get arma at all. Those people do not deserve help from others, and those people do not deserve tools or knowledge about how to protect their mission, they build with stolen content from others.

 

 

Regards Arkensor

  • Like 1

Share this post


Link to post
Share on other sites

Anyone who shits on people wanting to protect their code is essentially shitting on all those people, in the 'real' world, who copyright, trademark, and patent their creations. And making your work private doesn't stop others from learning. There is an abundance of tutorials, wiki pages, and guides out there which are more than capable of teaching a willing learner. If you need to copy and paste someone else's code in-order to 'learn' then you're not that willing to learn in the first place.

  • Like 2

Share this post


Link to post
Share on other sites

in the 'real' world

This is a game, for fun, not the "real" world where code privacy actually matters. And even a lot of "real" world code possesses little propriety, only licenses and other such legal attributes.

Share this post


Link to post
Share on other sites

Why doesn't code privacy matter? If the individual wants it private then who are we to say otherwise?

Share this post


Link to post
Share on other sites

This is a game, for fun, not the "real" world where code privacy actually matters.

I'm going to have to disagree with this statement Shock. Piracy is a huge problem in this entire industry, actually.

 

People are arguing both sides here, but when you say it's okay to steal someone's content because arma is "just a game", does this make it not piracy?

Where is the difference in people pirating a game or a script for arma? Both are code, yes? Somebody (or people) have put effort into it, right?

Is it also okay to pirate full games? Maybe just pirate Arma itself (irony) then you can pirate usermade code?

 

I'm failing to see the disparity here, and I don't believe there is any.

 

Just imagine how you would feel after spending up to a week (or more) making an amazing sandwich, I mean it's the best sandwich that has ever been created or ever will be. You're so proud of it, so you go outside and start showing your sandwich off to passersby (use it in a mission). Then someone comes along and tells you, "wow, that is a reallllly cool sandwhich". Then they slap it out of your hand, watch it fall to the ground, and look you right in the eyes. Then they just walk away.

 

Be smart, people. Piracy is wrong. You wouldn't download a car.

 

Why doesn't code privacy matter? If the individual wants it private then who are we to say otherwise?

this

Share this post


Link to post
Share on other sites

Ok, I over generalized it, if people want to make their code private (again, for this game specifically), I won't and can't stop them, I could give a sh*t what others do, I simply don't understand why it would be such an essential thing in third party code for a game that is based on a sharing community of developers to have code privatized. It was not the intent behind my statement to back piracy, but there is really no need to make anything private, as there is really no (large) personal gain (barring the outliers, i.e. DayZ, or any of the handful of MANW contest winners), other than maybe a bit of an inflation of the ego. Look at Adobe and their products, probably some of the most pirated software out there, and why is this, because they charge outrageous prices/subscription fees or whatever else, but if they had their software at a resonable price, that wouldn't be an issue for them, in the scope of this conversation I'm saying that non-privatized content for this game and this community is what I personally consider as the "reasonable price".

 

Un-privatized = no piracy/not stolen/no issues

  • Like 3

Share this post


Link to post
Share on other sites

There is an abundance of tutorials, wiki pages, and guides out there which are more than capable of teaching a willing learner.

 

Only a tiny fraction of people is willing to create a good tutorial that goes further than "How to start the editor and place a marker".There are no tutorials like "How do I create an ingame UI that shows a geiger counter and how to I simulate radiation" or "How do I make transparent magazines, so you can see the ammocount". Or an more actual example: "How do I add a new windows to EDEN editor?" You don't find such tutotial (yet). First someone has to unpack the pbos and look how the stuff works! Since the beginning of time (OFP: 15 years ago) people looked at other peoples (free!) stuff to learn how something can be accomplished. The first users looked at the samples and missions provided by BI. Somebody used that stuff to push for something more, maybe created a CTF mission with three instead of two factions, or wrote a randomized loadout script. Other people took that and added something more or rewrote it with something different in mind. This whole process results in the missions, framework and addons we see today. Keep in mind that most of the tutorials that actually are out there could only have been writing, because the author looked at other peoples stuff.

Back then, people where proud when someone mentioned them with words like "Original script/mission/idea by XYZ. Improved blah and added blub by me." and it was good for the diversity of content in the game.

 

P.S. Nevertheless there are some notable tutorials like Jakerods ATLAS tutorial, Snakemans Wiki or Mr.Murrays editing guide (I even have a printed version). But they are more an exception than a norm.

P.S.S. Your nickname perfectly matches your stance :D

Share this post


Link to post
Share on other sites

Where I live the authors work is automatically copyrighted to the author, people should respect that. But I dont know what the law says for example in north america.

 

In anycase I like to see it that everyone owns their own work.

Share this post


Link to post
Share on other sites

Very true my good sir, but what's even better is that quite a few (if not most) people who license their content don't have the monetary backing to do the "sue them" part of your flow chart, leading it straight down to the last instance of the chart :).

Share this post


Link to post
Share on other sites

Very true my good sir, but what's even better is that quite a few (if not most) people who license their content don't have the monetary backing to do the "sue them" part of your flow chart, leading it straight down to the last instance of the chart :).

Ok, I have a hotfix:

TnZmPEf.png

Share this post


Link to post
Share on other sites

Guys the OP was asking how to protect from theft, not questions like why/why not, should/should not, sharebear, community spirit,etc.

 

If you want to discuss that crap, please take it elsewhere.

  • Like 1

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×