Jump to content
Sign in to follow this  
spitfire007

Mission file being ripped off and passed as their own - obfiscator wanted. Will Pay !

Recommended Posts

I am kind of getting sick of this.

In Arma2 I had the same problem.

I go to a lot of effort for someone with my limited coding skills to modify my mission for my server only to have all my great (imo) ideas ripped off by someone else and passed off as there own.

It's appreciated that we all stand on the shoulders of giants in coding and without the efforts and sharing of those that have gone before I wouldn't even have a mission !

I understand that ... I WANT to contribute and am willing to share.

BUT....

My player base keeps being diminished because my server just then becomes one of dozens with the same mission and why should anyone play on my server ? I have nothing unique to offer ?

Please don't get me wrong. I don't want to be a sa matra .. but there must be a middle ground ?

I am happy to share my ideas ... BUT not ALL of them ! ....

So... in light of this ... could someone please enlighten me on how I can protect my misson pbo code ?

I think an obfiscator would probably be the simple way to do it.

If they REALLY want it they can get it .. but then they can put in the work !

If anyone want's to build one for me I will pay for it. If nobody here want's the work .. I will freelance it.

I have seen this one (sort of obfiscates)... but it seems outdated.

http://www.armaholic.com/page.php?id=14412

I might add.

I pay $330 a month for my server out of my own pocket.

I don't believe in donator shops or pay to play etc,

I just want a full server for my hard earned $.

Perhaps players would then help out by making voluntary donations to keep my server alive ! Coz at the moment it just seems like a waste of time putting the effort in.

Edited by spitfire007

Share this post


Link to post
Share on other sites

I'll put it to you nice and simple.

Don't want others feeding off your ideas and building on them, don't bother creating any mission. In fact, don't create anything in the game.

If you have the talent to pull it off you could try to create serverside functions that are passed to clients with publicVariable then executed. It's a pretty effective method for keeping most of the randoms off your mission as it won't work for them when they put the clientside pbo in their server. Though I doubt its fool proof as they could probably sniff packets that are sent from the server with the information in the script thats serverside then it renders the whole thing kinda useless.

Share this post


Link to post
Share on other sites

Another option (really for code and similar) is a license.

Share this post


Link to post
Share on other sites
I'll put it to you nice and simple.

Don't want others feeding off your ideas and building on them, don't bother creating any mission. In fact, don't create anything in the game.

If you have the talent to pull it off you could try to create serverside functions that are passed to clients with publicVariable then executed. It's a pretty effective method for keeping most of the randoms off your mission as it won't work for them when they put the clientside pbo in their server. Though I doubt its fool proof as they could probably sniff packets that are sent from the server with the information in the script thats serverside then it renders the whole thing kinda useless.

I believe it's fair for people to try create something for their community and be allowed to get something back from that. ie. Their server getting popular. What OP wants to do here is stop kiddies taking his mission effortlessly and fair enough imo.

You could add a NoDerivatives term and have add a server check. Unlikely to be followed by most, but will defer larger communities.

Good Luck with your missions. :)

Share this post


Link to post
Share on other sites
I'll put it to you nice and simple.

Don't want others feeding off your ideas and building on them, don't bother creating any mission. In fact, don't create anything in the game.

Please don't misunderstand me ... I don't' mind at all if people implement my ideas. I just get very pissed off when someone downloads my whole mission and passes it off at their own !

I would just like the ability to protect parts of my mission file.

Thanks for the tip on publicVariables.

---------- Post added at 01:30 ---------- Previous post was at 01:28 ----------

Another option (really for code and similar) is a license.

I have an international patent for a product I developed.

Guess what .. the Chinese are making a knock off !

Licencing is only a protection if you have the very deep pockets to pay for lawyers to defend it.

As I learnt from my patent experience.

---------- Post added at 01:33 ---------- Previous post was at 01:30 ----------

I believe it's fair for people to try create something for their community and be allowed to get something back from that. ie. Their server getting popular. What OP wants to do here is stop kiddies taking his mission effortlessly and fair enough imo.

You could add a NoDerivatives term and have add a server check. Unlikely to be followed by most, but will defer larger communities.

Good Luck with your missions. :)

Thanks Nevbox... you got it in one. It's the script kiddies I am trying to stop.

I don't expect my mission to be "uncrackable" especially with wireshark etc.

Not sure what the NoDerivatives term is all about ?

Share this post


Link to post
Share on other sites

You will need to redesign your mission(s) completely.

Anything the server only needs (which should be the bulk of the mission) will be set into a load of functions and packed as a mod. The mod will be installed on the server only.

Any common or client only files can stay in the mission file.

If the server needs to communicate anything to clients, then do it via bis_fnc_mp or publicVariable to the clients. (As per any normal mission).

The clients may need part of the servers scripts to run stuff on their PC's. Make sure to only pack what they need into the mission file. An example of that is a meteor striking the ground. The server determines the impact position and then gets the clients to run their particle effect scripts locally.

The clients don't need to have the impact determination script included in their info. They just need to know a position to use as the impact point.

If you are then concerned about people ripping off server only code, then you should read up on:

  • Battleye filters
  • loadFile and preProcessFile (and description.ext)

I'm not going to go into any detail about them as they are a whole topic on their own so Google them for more info.

Also, check out some cheat forums. I can't mention their names here but you probably have heard of some. They conveniently list all the ways they try and rip off your stuff so there's always some gems there to learn.

Share this post


Link to post
Share on other sites

1) Get a cheaper server - 330$/month sounds like a ripeoff even for Australia

2) Team up with a community/group to share a server

3) Make parts of your mission reside only on the server like Das Attorney explains

Share this post


Link to post
Share on other sites
;2850987']1) Get a cheaper server - 330$/month sounds like a ripeoff even for Australia

2) Team up with a community/group to share a server

3) Make parts of your mission reside only on the server like Das Attorney explains

1. It's about the going rate for a dedicated box. I have full control, including remote management/ backups / remote power on off etc, and a dedicated 24/7 help .. which works and is quick. edit:and good ddos protection.

(find me a better one and I will give you $50 via paypal.)

2. I like full creative control. If people are paying then they will want some creative control ... which I am not prepared to surrender.

3. Agreed.

Share this post


Link to post
Share on other sites

Fair enough. Good luck!

Share this post


Link to post
Share on other sites

We had a server for about $100 a month and could do all what you listed and more. If you are comfortable paying 3 times as much fair enough.

Share this post


Link to post
Share on other sites

Hi KZK,

Of course I am not comfortable being ripped off.

Who was it with ? I will check them out.

I did look for quite a while and didn't see anyone better here in OZ

edit: AND MORE ? ... ?? I have root .. how much more ??

edit again: it's my hardware .. ie: not a virtual machine. etc

Edited by spitfire007

Share this post


Link to post
Share on other sites

It was a dedicated box with 1&1, mind you this was a few years ago, probably even cheaper now. Had also choice what to put on it including OS, basically empty hardware and fast network, the rest is up to you, that is what I meant and more.

Share this post


Link to post
Share on other sites

I think the problem is he's looking for a host in AUS which is probably not cheap. Our server is ~$100/month with Hetzner but that is in DE.

It's the same in Canada - if I want a root server it's well over $200/month here.

Share this post


Link to post
Share on other sites

Yes . mine is essentially "bare metal" ... you will not find a cheaper one here in OZ with my spec ... I can almost guarantee that. I looked for quite a while.

Spec ... (not amazing by any means).

Xeon-E3-1220 3.1G

8GB DDR3

2x 120GB SSD in Raid 1

1x TB/Month

Daily backups. (10GB)

Windows 2012 R2 $25 less if not used

24/7 telephone support.

Oh... and something you might have missed ... it needs good pings .. so MUST be based here in OZ :)

---------- Post added at 01:58 ---------- Previous post was at 01:57 ----------

@epic ..... here in OZ ? ... virtual or bare metal ?

OK.. lets sort out the men from the boys.

Offering a $100 Bounty for ANYONE who can find me a cheaper dedicated server with the above spec's and facilitys offered here in OZ.

It must also have IPMI control. http://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface

It must be located in a datacenter not someone's back yard.

I look forward to your replies. (good luck)

P.S. the Australian market SUCKS .... people not in OZ have no idea what it costs here.

Our electricity is at least $0.22c/kWh ... Data costs a bloody fortune too.

---------- Post added at 03:23 ---------- Previous post was at 01:58 ----------

We had a server for about $100 a month and could do all what you listed and more. If you are comfortable paying 3 times as much fair enough.

Ok... I checked them out.

for my spec ... and I don't think they offer IPMI ?

That server with 1+1 (who are not in OZ as far as I know will cost you. $188.99/Month

(I pay month to month)

Edited by spitfire007

Share this post


Link to post
Share on other sites

I had this idea, but never needed to implement it.

On the server you have an array of all the files you need to run the mission, then you use https://community.bistudio.com/wiki/loadFile and put them into a public variable

I just wrote this now out of thumb, it might not work, but I want to display the idea.

files = ["mission.sqf", "files.sqf"];

And then you use the following in your onPlayerConnected

_publicFiles = [];
{
_publicFiles = _publicFiles + [[_x, loadFile _x]];
} foreach files;
_publicFiles call compile format["publicFiles%1 = _this;", the_player_uid];
owner (playerWhoJoined) publicVariableClient format["publicFiles%1", the_player_uid];
call compile format["publicFiles%1 = null, the_player_uid];

and then on client side

call compile format["MissionFiles = publicFiles%1;", getPlayerUID player];
{
call compile _x select 1;
}foreach MissionFiles;

Share this post


Link to post
Share on other sites
I had this idea, but never needed to implement it.

On the server you have an array of all the files you need to run the mission, then you use https://community.bistudio.com/wiki/loadFile and put them into a public variable

I just wrote this now out of thumb, it might not work, but I want to display the idea.

files = ["mission.sqf", "files.sqf"];

And then you use the following in your onPlayerConnected

_publicFiles = [];
{
_publicFiles = _publicFiles + [[_x, loadFile _x]];
} foreach files;
_publicFiles call compile format["publicFiles%1 = _this;", the_player_uid];
owner (playerWhoJoined) publicVariableClient format["publicFiles%1", the_player_uid];
call compile format["publicFiles%1 = null, the_player_uid];

and then on client side

call compile format["MissionFiles = publicFiles%1;", getPlayerUID player];
{
call compile _x select 1;
}foreach MissionFiles;

How are you getting playerwhojoined object?

Share this post


Link to post
Share on other sites

KK, it should actualy just be the id that is given in the onPlayerConnected. My mistake

Share this post


Link to post
Share on other sites
KK, it should actualy just be the id that is given in the onPlayerConnected. My mistake

Can you give example how it works for you? On player connected id is quite large number where as owner id is 2, 3, 4 etc

Share this post


Link to post
Share on other sites
Our server is ~$100/month with Hetzner but that is in DE.

I think I would have noticed if I had a computer inside me tyvm :P

Share this post


Link to post
Share on other sites

I had to read that twice to get it, but yeah I don't think you would be happy about that DE!

Share this post


Link to post
Share on other sites
Can you give example how it works for you? On player connected id is quite large number where as owner id is 2, 3, 4 etc

I just use the initplayerserver.sqf to derive the object and jip state (thanks Tonic) and from there can gather the rest. Does onPlayerConnected generate automatically this information without requiring the player object? And what is the difference between _id (onplayerconnected) and the owner return?

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  

×