Anti-Cheat functionality

Home Forums Mods and POG Scripting Anti-Cheat functionality

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #14644
    MajorTom
    Participant

    As the beta release gets nearer, we’ve come to the point where we need to discuss the Anti-Cheat functions:

    In previous scripts we read all of the relevant .ini file values on the client maschine in one block and compared that with hardcoded values. The solution had the advantage that it was niether possible to cheat on the client nor the server app.
    But, it took nearly 2 seconds to do and was cumbersome to deal with for the scripter if a value was changed on any of the ships. It also required an update of the whole mod if anything was changed!

    For SW I think we need an improved concept:

    1) check all of the client config values (flux.ini) that have an influence on the mp game.

    2) check the keybinds to insure that TRI is not activated.

    3) Check the ship .ini files.
    When the ship is selected in the players GUI we can create a sim using the players ini.file (but not place it in the world), and then use a switch with the T_type of the ship for the case statement.

    For each T_type we would have a list of ini file values to check against a hardcoded value and also check for the correct subsims on the sim. (Thats because some of the scripted functionality is dependent on the existance or non-existance of certain Subsims.)

    That would be much faster than simply reading all of the relevant .ini files on a client, regardless of which ship a player has selected.

    The above could be done while still in the GUI, it would be fast and also let the player know something is wrong with his files before he even tried to join a game (and not occupy the server with first loading and then rejecting a client)

    Items 1 and 2 would cover a server operator too but item 3, as described above, doesn’t cover possible cheating by a server host! i.e the host could, for example, reduce the hitpoints on all the other ships, except his own.

    The options I see here are:
    a) create and check all possible sims via the GUI script before a server is started. This would probably add an additional 3 to 5 secs. load time for the server app. (which is already rather long)

    b) Check the servers ship .ini files against the hardcoded reference values as other players enter the game, depending on the ship types that enter. That wouldn’t delay loading but, if the host had incorrect files, a message would have to be transmitted, that the game will be terminated in, say 20 seconds, due to server malfunction.
    (This would probably fall back on us more than on the server operator as the assumed source of the problem.)

    Question:
    What is the general view on this subject and are there other options you can think of?

    Iwar2 Multiplayer Fan Site


    [url=”http://webpages.charter.net/mjrtom/index.html”]Iwar2 Multiplayer Fan Site[/url]
    [img]http://webpages.charter.net/mjrtom/BANNER11.jpg[/img]

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.