Jump to content
dok381

how to protect the mission from theft?

Recommended Posts

somebody first wrote 

 

{_x setdamage 1} foreach allunits;

 

so some of you guys are saying that no one else can use that line because thats stealing someone else,s code

where do you draw the line at what is yours and what is BIS owned.

 

I look at other peoples code all the time, I dont use much as i mostly write it better and in FSM

but where else can you find things out like

 

------------------------------

_value = empty array;

if (count array > 0) then {_value = array};

-----------------------------

_value = if (count array > 0) then {array}else{empty array};

----------------------------- 

_value = if (count array > 0) then [{array},{empty array}];

-----------------------------

 

all do the same thing and there is not like there is a book to find this kinda stuff out.

 

sharing helps pass on your knowledge to people that have their own knowledge who in turn pass it on also

 

and we all end up with better Missions to play for free.

 

everyone learnt from someone else either directly or indirectly (by looking at their code) 

 

If you can encrypt it someone can un-encrypt it

thats a point ive read or heard many times .. and i guess if people really want to protect or sell , all you are doing is ruining what bis has given us (freedom) .....

  • Like 1

Share this post


Link to post
Share on other sites

+1 for zonekiller and Dr death jam

The bottom line it is not your codes it is Bohemias programs they just allow us to arrange them in different variations that is all.

Share this post


Link to post
Share on other sites

But AVIBIRD, you're devaluing coding/scripting as a whole. You are essentially saying that because anyone can, in theory, come up with the same code as you, it's not worthy of protecting?. Should AAA game developers not be allowed to copyright their work? Should Intel not be allowed to copyright their work? Should BI not be allowed to copyright their work? Because going along with your theory, anyone could end up with the same product as all of these companies without 'stealing'.

In this case those two things are not the same... being granted license to use tools to create things for a game where the developer allows this is very different then investing millions of dollars on engine and labor to create it from the ground up.

  • Like 1

Share this post


Link to post
Share on other sites

I never once concluded that the amount of effort invested into Arma developing and AAA game developing was the same. It's the principle of the reproducibility being irrelevant. Just because something can be done by someone else doesn't mean you can't copyright/protect it, as implied by AVIBIRD.

Share this post


Link to post
Share on other sites

lol copyright/protect what BOHEMIA code commands. You are missing the point. The information via code language was never your work it is BOHEMIA who allows us to use it and modify it to make new game content bottom line. 

 

Let me put it very simple for you. Say you and a friend had a few beers and saw a construction site and took building materials from the site and build a clubhouse for you and your friends to hang out. Now is that your clubhouse or is that the owner of the construction site. Yes you made the clubhouse but it was not your material in the first place. It's the same thing. Yes you put the time and effort into it but it was never yours.

 

It's like making a sand castle at the beach. Yes you used the sand to make a beautiful castle but news flash the sand belongs to all the community it is not your sand. I know it's hard for you to follow but it is really common senses here. I think I am done here I can't say anymore. So lets agree to disagree and hope BOHEMIA never sees it your way.  

Share this post


Link to post
Share on other sites

somebody first wrote 

 

{_x setdamage 1} foreach allunits;

 

so some of you guys are saying that no one else can use that line because thats stealing someone else,s code

where do you draw the line at what is yours and what is BIS owned.

I disagree with people saying this. There is such a thing as Clean Room Design

all do the same thing and there is not like there is a book to find this kinda stuff out.

 

sharing helps pass on your knowledge to people that have their own knowledge who in turn pass it on also

There actually is a book (eBook), and here is the exact page you need to flip to to find this information. 90% of everything I know actually comes from that book, and if I really scrutinize I can bring that percentage as far down as 85%. Wiki edits are the (absolute) best way to share what you know. I have only opened someone else's script(s) with the purpose of finding out how they did something one time (BIS_fnc_camera). And I'm very proud of this too. The fun for me is writing all my own code and ending with the same or better result. You could almost say I live for it. Everything I have ever done has been clean room design.

 

So where we stand right now in this thread is that me and Das are the only ones who actually answered the question (in the entire 5 page thread) and helped OP, while the rest of the community devolved 200 years and had a civil war over whether or not you should. Then we explored a bunch of worst-case scenarios (lots of fun). I will admit that I may have fanned the flames a little, though that was not my intention. But it's actually kind of ridiculous that in 5 pages of text, there are only 2 pieces of semi-relevant code.

 

I don't even know why the mods are letting this forum ravaging happen. Are they sleeping? It should probably get locked now (or about 24 hours ago) while every has only a slightly bad taste in their mouths. Guys, I mean I can practically taste the salt in the air.

Anyway, I guess I'm trying to say that information relevant to OP's vague question has ended hours ago, just like this thread probably should have.

 

pls lock. pls

  • Like 1

Share this post


Link to post
Share on other sites

AVIBIRD, I did not say that you could copyright Bohemia's code commands. I have said my piece.

Share this post


Link to post
Share on other sites

The day encrypted PBOs are introduced will be a day the whole Arma community lost their soul. I can hardly see a "win win for everybody" there.

By the way, having said what I said above, it is also the mark of a working community that copyrights ARE, indeed, respected. IF someone claims copyright on a script, model, mod or what have you, the community SHOULD repect that wish.

And it SHOULD also go without question that, if you built upon a foundation laid by others, you ask for permission and give proper credit.

  • Like 2

Share this post


Link to post
Share on other sites

So where we stand right now in this thread is that me and Das are the only ones who actually answered the question (in the entire 5 page thread) and helped OP, while the rest of the community devolved 200 years and had a civil war over whether or not you should

 

 

You are incorrect. You should have read all the posts before you made such a claim. 

  • Like 4

Share this post


Link to post
Share on other sites

The scripts are just a bunch of Code lines that Bohemia allows us to have access to make variations.

 

Part of my mind wants to say this is just an idiotic statement, another part thinks only an idiot would believe this enough to post it.

 

Which part of my mind should I listen to?

Share this post


Link to post
Share on other sites

The other thing is there is nothing wrong with a server owner asking for money for the operation cost of the server military clans do this all the time. So you are paying to play in one way or another. Basically you are really paying for the environment of the server not for the content.

 

Time to set up a server and host a gamemode = 2 hours.

 

Time to design and build a gamemode = 2,000 hours.

 

As you say, at least the guy who spent 2 hours setting up a server is being payed one way or the other ;)

Share this post


Link to post
Share on other sites

I personally think you guys all concentrate on wrong direction in solving this problem. Technical ways of restriction of using some code are all half-measures. They all are to be overpassed eventually and not prevent stealing code and content.

 

In my opinion what is right to do is to make licenses work.

Ok, not everyone has money to go to court and go through all legal procedures to defend their rights. But that doesn't mean community has nothing to do with this.

We should care more about licensing. We should make it common practice. Like remembering about them here and there. Encourage all content creators to think about licensing earlier in their project life. Make proper licensing policy a good practice in any project and any beginning.

It does not confront community opennes and spirit. Did you know there's APL-SA license which is very well fitted for community and sharing? Not saying that CBA is released under GPLv2. We could encourage people using these licenses. Community could notice someone is using APL-SA-licensed content and say to this guy: "hey, are you aware you're using APL-SA-licensed code/content? you will be forced to release your work under this license too. If you disagree, remove all voilating code from your project." Something like this.

What also community can do? Look at the Free Software Foundation. They collect information about free software licenses violations. And you know what? This is right thing to do. Because if you don't you leave your naked ass for the icy wind.

Making content authors and maybe even BIS knowing about licenses violations. I dunno. Boycott violators and all this stuff.

This mechanism is created for this kind of situation. And such kind of problem is by design should be solved this way.

And excuse me for being idealistic.

 

PS. Some kind of licenses are not for limiting users of content (or anybody at all), but for protecting content creators and openness and sharing spirit in the community!

Share this post


Link to post
Share on other sites

You are incorrect. You should have read all the posts before you made such a claim. 

I have read all the posts, and I specifically found your original one to read again. My claim still stands. I'm not trying to put OP down, but do you honestly think he can take the one sentence you threw in there to answer his question and turn it into code?

 

While you people all argued about "sharing code", me and Das are the only ones who actually shared code.

  • Like 1

Share this post


Link to post
Share on other sites

While you people all argued about "sharing code", me and Das are the only ones who actually shared code.

Does this make other community members voiceless?

 

If there were a community in the first place which stands for its members there will be no need in obfuscation, encryption and all the stuff beyond appropriate licensing. I just walked in and I see there's no such. I also have not release any public code yet. Should I STFU and GTFO? Ok. Now, where's my jetpack?

Share this post


Link to post
Share on other sites

So much talk and the truth is only one:

If someone want to "steal" "your code", he do it, and there's nothing you can do about it except

officially sharing it, in this case would be no "stealing"  or turnoff  your  server because hosting your code == sharing it.

Share this post


Link to post
Share on other sites

@mdcclxxvi let's agree to disagree on this.

Without Bohemia willingness to grant access to their code sources there would be no extra content from the community.

Yes people put in many hrs to make content for the game and I love these guys for it but codes they use is Bohemia own language and can only be used on the Arma game engine. They can't sell it or use it on any other software program and following Arma updates most of the time scripts and mod are not working due to the fact Bohemia altered there language and yours.

There is no real way to police and enforce user created content from people taking credit for it so get over it. Yes it sucks that people are this way.

Yes it does suck even more that a lot of the old community modders and scripters are not developing content for the game or releasing to the public because of this.

Arma is a game and a hobby for me i just don't see any good solution for this issue. The only thing I see if this continues to develop in this way would be Arma will be like the other game depending on developers download content only for money. We all lose at that time

Share this post


Link to post
Share on other sites

I wonder how many of you have ever taken look at KOTH code to see that it's partially encoded.

I don't know how the author did it but it's good also because script kiddies cant find vulnerability in the code.

 

example of the encoded code:

/*
	ArmA 3 King of Hill
	Code written by Sa-Matra
	Using this code without Sa-Matra's direct permission is forbidden
	
	Special build for BobbyDigital
	
	OFFHFGIEBTFEEBVF
*/
enableSaving[false,false];kgp17g="v8.6";kgnppr=(if(isNil{kg9978})then{0}else{serverTime});kgs2n3=((toArray(profileName)select 0)==35);if(kgs2n3)exitWith{onMapSingleClick "(vehicle player) setPos [_pos select 0,_pos select 1,0];";};kgk68m=false;true call compile preprocessFileLineNumbers "pg\init.sqf";true call(compile preprocessFileLineNumbers "__SETTINGS.sqf");true call compile preprocessFileLineNumbers "shared\sh_init.sqf";if(isServer)then{true call compile preprocessFileLineNumbers "server_k\s_init.sqf";};if(!isDedicated)then{true call compile preprocessFileLineNumbers "client\c_init.sqf";};

Share this post


Link to post
Share on other sites

 

I wonder how many of you have ever taken look at KOTH code to see that it's partially encoded.

I don't know how the author did it but it's good also because script kiddies cant find vulnerability in the code.

 

That's not encoding, that's obfuscating. The only thing it does is rename variables so that you can no longer consider them "human readable"...  Things like that exist for a number of programming languages

Share this post


Link to post
Share on other sites

If there were a community in the first place which stands for its members there will be no need in obfuscation, encryption and all the stuff beyond appropriate licensing.

To be honest with you, I see a very distinct line between players, scripters, and modders. There is an overall "arma community", but I think the bond is very weak. Even between scripters and modders there is intermingling. I don't even play the game anymore, yet I have almost 3000 hours logged on steam. The point I'm trying to make is that I see the players as a completely separate entity than us, and I believe they view us the same. Every time I tried to join a server, all I hear is how badly the scripts are written/half of the mission doesn't work/"this mission sucks". Personally, I'm all about the scripting community, part of the reason I post code snippets and spend so much time on this forum anyway

I also have not release any public code yet. Should I STFU and GTFO?

No! We are sincerely waiting for your releases! I want to see what you'll make. I come here to answer questions or fix people's problems, I like being able to occasionally see a release post and be able to say "Hey, I helped him with [obscure problem only hours of wiki-reading and code tests could solve]". You may not have done anything public yet, but I can't wait to see what you do

  • Like 3

Share this post


Link to post
Share on other sites

The code compression you can do with the example splitString and joinString code on the Wiki:

 

https://community.bistudio.com/wiki/splitString

loadFile "somefile.txt" splitString toString [13,10] joinString " "

It's pretty pointless though as you can uncompress with a number of tools online.  I googled this one http://unminify.com/and it made it readable again in like 0.005 seconds:

 

enableSaving[false, false];
kgp17g = "v8.6";
kgnppr = (
    if (isNil {
            kg9978
        }) then {
        0
    } else {
        serverTime
    });
kgs2n3 = ((toArray(profileName) select 0) == 35);
if (kgs2n3) exitWith {
    onMapSingleClick "(vehicle player) setPos [_pos select 0,_pos select 1,0];";
};
kgk68m = false;
true call compile preprocessFileLineNumbers "pg\init.sqf";
true call(compile preprocessFileLineNumbers "__SETTINGS.sqf");
true call compile preprocessFileLineNumbers "shared\sh_init.sqf";
if (isServer) then {
    true call compile preprocessFileLineNumbers "server_k\s_init.sqf";
};
if (!isDedicated) then {
    true call compile preprocessFileLineNumbers "client\c_init.sqf";
}

The obfuscation I think is done with a little exe or a script on Notepad++.  You can figure out what the variables mean easily enough when you look at the context they're in so again these sort of practices just slow down people who want to look at your code and take bits/copy it etc.

Share this post


Link to post
Share on other sites

To be honest with you, I see a very distinct line between players, scripters, and modders. There is an overall "arma community", but I think the bond is very weak. Even between scripters and modders there is intermingling. I don't even play the game anymore, yet I have almost 3000 hours logged on steam. The point I'm trying to make is that I see the players as a completely separate entity than us, and I believe they view us the same. 

 

 

There is of course that line between those who play, those who script and those that mod... but the relationship is fairly symbiotic. Sure people get on their high horse sometimes (myself included) but I'm not sure the series would have the longevity and player base it has without each of the 3 groups.

 

 I find the "bond" in the Arma community better than most and 99% percent of people are extremely helpful and awesome. Maybe ive been lucky but I've met a number of people through this community and modding that I now consider close friends... I don't think it's fair to let the bad apples define the wider community. Add to this the fact that a large majority do respect authors and do ask permission for use and I don't think there is the stated "Civil War" ;) . 

 

And for the record... I'm on Team Cap. 

  • Like 2

Share this post


Link to post
Share on other sites

To be honest with you, I see a very distinct line between players, scripters, and modders.

 

I don't see the difference between scripters and modders.

 

I see more of a distinction between programmers and artists (there are areas where these overlap as well), both of whom are modders if these skills are applied to the A3/RV platform.

 

The way I see it, the moment you create something other than what is possible through the vanilla Editor interface, you are a modder.

  • Like 1

Share this post


Link to post
Share on other sites

Because code obfuscating only slows them down the option left is for BIS to make execvm create a binary version of the excuted file and then run the binarized version instead of the text source file. And when releasing mission you would give away only the binary files and keep the source to your self. Some game engines do it this way.

But I also wonder what is BIS stance on open source? its good for them that its all open source because it will interest more mission makers to learn from others code.

Share this post


Link to post
Share on other sites

Because code obfuscating only slows them down the option left is for BIS to make execvm create a binary version of the excuted file and then run the binarized version instead of the text source file

 

I can only hope that BI will never take that step. The open nature of Arma has carried this community well for over a decade and a half, and while there has been the occasional "copyright dispute" in the past, I see more harm coming from a move like that than not.

 

In part, I also blame BI for the situation: They allow monetarization of servers, which, in fact, creates the perceived need for asset protection. Of course, people misunderstand the monetarization, it's used for allwoing server administrators to pay for the some times hefty fees of maintaining a server (while, at the same time, denying modders the same courtesy, even though modders also have to pay for their servers).

 

Again, if you want to protect your code/assets, put a copyright on them, and hope that people adhere to that, and if they don't, tell the world about it.

  • Like 3

Share this post


Link to post
Share on other sites

1. It's far, far more healthy for your own psyche to not restrict reuse of your work beyond common fair use sense. Even better - to encourage others to reuse/inspire. Even better - to help them doing so if the time allows. 

 

2. Simpliest form of theft is taking the someone's mission/work and distributing it as own. Best thing to do IMO is make it commonly known, it's yours, if anyone anyway will pretend, he's the author despite any reasoning - leave him be. He's a liar/thief and that's his big problem, you loose near to nothing in fact, he is the main looser here. Even the more, if charges money. Yes, I know, hard to accept someone charging money for my own work, it IS unfair, but still. Unless someone is ready to waste nerves and time for courts. 

 

3. As for the scripts, from my own experience, if these are complex enough, even without any encryption, without any obfuscation, there will be hardly anyone willing to reuse them even, if you encourage this and declare your help. Very rare. Noobies will fail to do so, while pros prefer to do own stuff than adapt complex work of the others. Simplier and faster contrary possible appearances. 

 

4. 

 

 

The scripts are just a bunch of Code lines that Bohemia allows us to have access to make variations. 

 

No. Look at a pile of random Lego bricks, then compare with a house of own design built using them. See the difference? There are several. Think about it. Certain work was done, certain time consumed, certain ideas used, certain order achieved, certain purpose and utility appeared. None of them belong to Lego company. Think wider, deeper. A house is something more, than the sum of used materials. 

 

What's interesting indeed is, how to distinguish between the basic brick, fair inspiration, stealing the idea and stealing the work itself. 

  • Like 2
  • Thanks 1

Share this post


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

×