Jump to content

Radioman

Member
  • Content Count

    144
  • Joined

  • Last visited

  • Medals

Posts posted by Radioman


  1. Ok, so what I am gathering from what you are typing is there there is going to be an INCREASE in IO traffic.. Nice more IO events that servers and clients have to process.. sounds a lot like LAG to me.. Thumbs up!! I love LAG

    The shit are you on about.

    You could just use BIS_fnc_MP and call that, with the appropriate variables, and it'd be BETTER than setvehicleinit, which sends code over, vs just a function call. I'm not seeing much difference.....


  2. Can't we just use and abuse addPublicVariableEventHandler?

    For example if I need to make my base buildings invulnerable, could I do this:

    Then when I init the server side of things, I just update flagMakeBaseInvulnerable to true and call publicVariable "flagMakeBaseInvulnerable".

    I mean, this works when using say3D in MPMissions to make it so every players hear sound, why not there?

    edit:

    Hmmm, would that mean that my global server side flagMakeBaseInvulnerable would still be true, while it would be false on all clients? Mind boggling!!

    Where are you getting _pos from?

    And, every time you run this, it'll run on all clients, vs just the one. The aforementioned method of mine supports JIP.

    and yes, you need to manually reset the variable on whatever PC that ran the publicvariable. Because, when you publicVariable a variable, it's event handler doesn't run then too, as technically, nothing changed.


  3. When I look at it, this really seems to make removing SVI superfluous, as that seems to provide the same functionality - compile a function, like spawnscript = { 0 spawn compile _this }; , pubvar it, then call this function to call that on the remote host. It's slightly more complicated, but it means they haven't really prevented a thing. Meaning that functionality likely has to go too.

    This is correct, and I have proposed a solution on the aforementioned thread.


  4. _netID = netID _objtoInit; 
    _sCommand = format ["{(objectFromNetID '%1') allowDamage false;}", _netID]; 
    [_sCommand,"BIS_fnc_spawn",true,true] spawn BIS_fnc_MP;  
    

    ^ doing this, will execute the _sCommand.

    _sCommand, in this example, sets that vehicle's 'allowDamage' state to 'false', so that that vehicle has god mode across all clients.

    Not the best example, but it's something.

    ALTHOUGH

    If you do it this way, it may not be 100% supported by BIS in the near future, because it's a pretty big hole (exactly the same hole as setvehicleInit) in that it runs ANY code that is passed via a variable, and not a compileFinal function.

    What BIS needs to do

    To fully fix any and all holes, is to implement another flag to 'function' variables, that being, an OWNERSHIP flag. If a function is compileFinal on a client, and sent over the network via publicVariable, that variable would have it's ownerID static. Then, an SQF method to 'get' the ownerID of the function (maybe overload the current ownerID function) and incorporate a flag within the mission's description.ext for the mission writer to set whether MP exec commands owned by clients can be ran, or not. Preferably not.....

    Can also iterate on this, and have two .ext flags for 'allow client function execution on server' and 'allow client function execution on client'. Former is to control whether client compiled functions can be ran by the server, and the latter is to control whether client compiled functions can be ran by other clients. If that makes sense.

    EDIT: Perhaps also enable it so that if a server broadcasts a compileFinal function, that isn't a BIS_fnc, that function overrides any client compiled function, and sets it's ownerID to that of the server.

    And ID verification could be done by a method of public/private key checks.


  5. WHY DO I HAVE TO RESORT TO BOLD ALLCAPS

    the solution is not this, this is just errant speculation.

    The trusted, well known solution to disinfect a client, is to restart the client

    nothing more

    the fact that exiting out of the game, deleting a file, starting back up, is essentially the same thing, but you're deleting random crap that has no relation whatsoever.


  6. @Twix

    to protect buildings I saw something in a init.sqf (ran by everyone, player and server) that uses a foreach loop on nearestobjects of a certain types (don't remember) and did a _x allowdamage false

    there is also something in the wiki called nearestbuildings. it's probably a subset of this one with "house" type assumed.

    For his problem, I'd stick to my solution. What you've posted is non-dynamic and is typically used for setting all world objects as god mode, which is only good for a life mission or something.

    EDIT: this discussion should be moved to it's own thread.

    EDIT: There's a thread for the discussion of setVehicleInit supplements here: http://forums.bistudio.com/showthread.php?153945-Help-on-script-after-removal-of-processInitCommands&p=2383017#post2383017


  7. Well, now that we can't blank the offending functions (BIS_fnc_MP etc), I hope the virus guy doesn't find a way to work around the compileFinal and still execute code over the network using those functions.

    ---------- Post added at 05:20 ---------- Previous post was at 05:08 ----------

    Good news. That's gonna cause some issues in MPMissions but things like this had to go.

    Not sure how I'm gonna make my dynamic base guards that are supposed to be allowdamage = false. Maybe I'll have to put them in editor directly somehow, then find a way to clone them with all their properties and move them...or something :)

    Or how to make the base buildings immune to damage to keep it clean since we can't access them in the editor directly.

    Use BIS_fnc_MP to do this kind of stuff.

    _netID = netID _baseGuard;
    _sCommand = format ["{(objectFromNetID '%1') allowDamage false;}", _netID];
    [_sCommand,"BIS_fnc_spawn",true,true] spawn BIS_fnc_MP;
    


  8. Well i got on some server and got infected, then i started a mp mission i'm in progress making and got that latest "message" thing. I then compiled mission with the snippet i posted and the "message" thing was gone!!

    I was only able to test as server/host so maybe it's different as client, i dunno.

    It is different, because you weren't instantly re-infected by another client.


  9. Hehe :) Night.

    The best thing for them to do is maintain backwards compatibility with SQF and implement this in a new (Java or something) API, like I've mentioned before. But yeah, who knows if they'll do it (already have my guess).

    Problem with Java is, is that it's an even WORSE security flaw..... The hacker could make a botnet out of all Arma clients and DDOS BIS websites or something crazy.

    A whole new can of radioactive worms with frickin laser beams on their heads.


  10. Doing a winmerge of the dev build's functions_f.pbo contents, with the non-dev's one, shows not a lot of difference.

    Looks like they ADDED functionality to the exploit, not remove some.

    They implemented a function recompile to execute at mission start, but that's been ineffective for at least a day already. Playing on the dev servers, they were infected just hours after this new dev build went live...


  11. As I wrote before I do have HACKER ID , I BANNED HIM and my server runs since yestrday without problem , of course he can buy next copy of arma 3 alpha - next ID but now I know what should I'm looking for and I will catch him again and again. regards, pkpl

    You know, you probably just banned an innocent player who didn't understand the concept of the virus. It's spread unwillingly by any and all players, not just hackers.


  12. NEW INFORMATION

    Arma 3/Addons/functions_f.pbo - mp/fn_mp.sqf USED FOR DISTRIBUTION OF THE ORIGINAL SCRIPT

    If you want to spread new antivirus to your clients make it how he did it and include it in that file as seen below!

    Whats needed is a function that periodically removes BIS_fnc_MP2 , which is what the script uses to trigger the skyflying shit....

    http://i.imgur.com/19RrtUdl.png

    Once you get injected on the server, you can dig into the script he is injecting to players with CheatEngine for example or with IDA. just dont close down the game ;P

    http://i.imgur.com/FqU4WZ0l.png

    Colour me confused, but, what on earth are you on about?


  13. Dan;2380956']Wait a min' date=' if he wants BIS to remove the scripting library in general, doesn't that mean that he basically wants to destroy customs missions entirely pretty much as they depend on it? (or rather having to rely on bis modules/triggers and missions)[/quote']

    BIS function library != SQF functions.

    The BIS function library are functions made from SQF, and are automatically compiled into variables/functions.

×