Jump to content
Sign in to follow this  
HazJ

Server Side .pbo

Recommended Posts

I am looking for a way to make a server side .pbo in order to prevent someone from using my mission. The reason I want to do this is to prevent them changing the XP / Money reward values so that nobody can cheat. I really am clueless on how to do this or where to start atm. Any help is much appreciated!

Dirty Haz

Share this post


Link to post
Share on other sites

Thanks but, I don't think this is what I what? Not sure... I want to have a server side .pbo which allows the mission to work. Without it, the mission fails to play/load properly.

Dirty Haz

Share this post


Link to post
Share on other sites

The only way to do this is for the server-side scripting to execvm a file in the userconfig folder or some other folder in the arma install root. It doesnt even need to be a .sqf file, it can have any extension

example....

_ServerSkill = call (compile preprocessfilelinenumbers "\userconfig\zeu\zeu_ServerSkills.hpp");

(Normally the files in here are for User setting configs, but they dont have to be).

This file should be used to define values or have code that you don't want anybody else to see.

You can use it to publicvariable a function or any type of variable. Only those able to a) Use wireshark and b) hack the encrypted BIS packets can unravel it.

Reason being, that when they download the mission, they will get the pbo, which they can unpack, however because only the server calls upon the userconfig file, nobody other than the server needs this and it is separate to the .pbo

I don't see why the info cannot be defined in the normal .pbo and have verify sigs turned on. This is enough to stop folks unpbo'ing, editing and re-saving. On connection they will re-download your un edited.pbo and use that

I suspect you just don't want other servers to copy/use your work.

However if that is the case then think about what your work was based from and how many scripts are copies, albeit slightly edited of others work done in the past.

I personally find this approach, to what has always been an open and sharing community abhorrent. I am seeing more and more of "This is my work, you can't use it".

That is not the spirit of this community and it needs to stop.

If that is not your intention, then I apologise for the assumption and you are more than welcome to use my methodology for initiaiting serverside secret coding :)

Edited by Terox

Share this post


Link to post
Share on other sites

You cannot do that because you are using dinamyc values.

The right way is connect you mission to a table (stored in a database) and read the values from that source (becacuse you need change sometimes).

Share this post


Link to post
Share on other sites

It's not that I don't want people using my work. I just don't want people to cheat.

I really need to do this and I know it's possible as Sa-Matra has done it for his King of The Hill mission. I would use a database but it's third party content and am not sure if I am allowed to use it in the MANW contest.

Dirty Haz

Share this post


Link to post
Share on other sites
It's not that I don't want people using my work. I just don't want people to cheat.

Good luck with that one.

If it is functions what you could do which is how myself and Sa-Matra do it is you create functions on the server and then transfer it over the network with publicVariable which is the most basic way to do it but so long as you have a client-side call (mission) the ones that have half a brain can always trace it and dump it via diag_log. When you involve a database into the mix for persistent stats then it creates a lot more work for them.

Look at Altis life & life_server, it's a server-side PBO unpacked that used to contain client-side functions that are transferred over the network as well as server-side code that I didn't want in the mission its self.

When I say used to contain client-side code I mean as in it was previously Stratis life and it is how I did it for both stratis life & Wasteland to prevent people from snatching it before release.

A lot of stuff in KOTH is handled server-side and then clients are made aware of changes but money and stuff is still stored client-side. The code is just so obscured you won't notice it at a glance.

Edited by Tonic-_-

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  

×