Skynet Usage Guide

Go back


How does Skynet work?

Unlike other popular anti-cheats, Skynet does not contain any heuristics, apart from a simple VPN check, and a client-brand snooper.

Instead, it makes use of a custom plugin framework. This means that (when used correctly) every heuristic is housed in a separate Jar-file. This makes Skynet highly customisable, and easily catered to the needs of every server under the sun. It also makes every instance of the anti-cheat unique, and thus unpredictable, on every server, making it increasingly more difficult for cheaters to bypass. It makes stealing Skynet utterly useless as well.

Details

For any questions or bug reports, please refer to our contact page.


How do I use Skynet?

Skynet works like any other Bukkit/Spigot plugin. You simply install it by placing Skynet.jar into the plugins folder. Start up your server to let Skynet generate its configuration file and folders, and you’re done.

Plugins

Inside Skynet’s plugin data folder, next to the configuration file, you’ll find a folder called modules. This folder is where Skynet’s own plugins will be loaded from. You can find free addons for Skynet. You may also purchase a license to use a wide variety of pre-made heuristics at the premium section.

Configuration

Skynet’s configuration is reasonably straight-forward. Should you, however, run into problems, refer to the documented template below.

skynet:
  licensing:
    #If you've purchased a license, you should enter it here. Otherwise, leave empty
    key: ''
  updater:
    #If you would like to have Skynet update itself automagically, this should be true. Otherwise, false.
    enable-auto-update: true
  look-and-feel:
    #Change these colours to give Skynet a makeover. Easily let it blend in (or stand out) with the rest of your chat.
    chat:
      colour-primary: blue
      colour-secondary: dark aqua
      colour-default: gray
      colour-warning: red
      colour-success: green
  violations:
    #When a player reaches a violation level of this number, they will be banned.
    ban-threshold: 100.0
  ban-handling:
    #If you'd rather have Skynet simply notify staff, without banning, set this to false.
    enabled: true
    #Skynet will pick a random time between these numbers (in milliseconds) before banning the detected player.
    minimum-delay-before-ban-in-millis: 60000
    maximum-delay-before-ban-in-millis: 300000
    #Skynet has a [client-brand] snooper built in. It'll be shown in /skynet check <player>
    #Should it automatically ban any player whose client-brand isn't recognised, set this to true.
    ban-unknown-client-brands: false
    #Give Skynet a custom command to execute upon banning a player.
    command: ban $[playername] $[reason]
    #Set this to true if you want Skynet to use Bukkit's built-in ban API
    use-command: false
    #Personalise the default ban-reason.
    default-reason: |-
      Advantageous client modifications are prohibited.
      Your account has therefore been suspended.
  vpn-detection:
    #Should Skynet detect players using VPNs?
    enabled: true
    #It is wise to keep this percentage no lower than 95
    threshold-percentage: 95
    #Skynet uses the free service provided by https://getipintel.net/. However, it requires you to provide an e-mail.
    #Without a valid email, VPN detection will remain disabled.
    your-contact-email: <<Field required>>
  notifications:
    bans:
      #Should Skynet notify staff when a player gets banned?
      notify-staff: true
      #Should players be notified?
      notify-players: true
      #Personalise the notification sent to other players here.
      default-player-notification: Player %s has been revoked access to this server.
    violations:
      #Should staff be notified when a player reaches a certain violation level?
      notify-staff: true
      #The level at which a notification is triggered.
      threshold-percentage: 65
    vpns:
      #Should staff be notified when a VPN is detected on a certain player?
      notify-staff: true
      #The level at which a notification is triggered.
      threshold-percentage: 80
    other:
      #Skynet has a small chance of showing a randomized Combine Overwatch message from Half-Life 2 (see below)
      #To disable this, set it to false.
      combine-references-enabled: true
      show-missed-alerts-on-join: true

An example of the Combine Overwatch from Half-Life 2

Permissions

Currently, Skynet has two different permission nodes.

Skynet has a sub-set of commands for debugging purposes. Currently, only players with OP have access to them. However, this is subject to change.

Commands

Skynet comes with a comprehensive set of commands, giving administrators access to the debugging features, and moderators access to moderation related commands.

Even console users are treated with neatly formatted output:

Below is a list of available built-in commands, all of which are prefixed by /skynet:

Command Description
help Shows information about Skynet, and the command list.
list Lists the currently loaded heuristics.
check (p) Shows information and currently active violations of player p.
abort (p) Cancels a currently running delayed ban on player p.
reset (p) Resets all violation data of player p.
reload Unloads and reloads all heuristics and addons found in the modules folder. Also reloads (and updates) Premium heuristics.
debug (p) (0,1,2) Sets or toggles debug mode of player p, or yourself if none provided.
enable (h) Enable currently disabled heuristic h. Optionally uses regex.
disable (h) Disable currently enabled heuristic h. Optionally uses regex.
reloadconfig Reload Skynet’s configuration file.
vltop Shows a top-10 of players with the highest violation levels.
timings Runs Skynet’s profiler, showing which addons, commands, and heuristics take up the most time to run their algorithms.

What are addons?

Addons are essentially plugins for Skynet that do not work as heuristics; they do not contain any cheat detection code, but instead

Addons are actually quite a broad concept. Simply put, addons are anything that isn’t a heuristic.

How do I create addons for Skynet?

Refer to the plugin guide to learn how to write your very own addons for Skynet. It contains everything you need to get started.


What are heuristics?

Heuristics are just a fancy name for cheating detection algorithms, or simply checks for certain cheats or other client modifications. They are what bring Skynet to life. When a heuristic deems a player guilty of cheating, it grants a player a Violation with a certain severity amount. When the player reaches the maximum severity level, they are added to a randomized ban queue.

This is all configurable, of course.

How do I create heuristics for Skynet?

Refer to the plugin guide to learn how to write your very own heuristics for Skynet. It contains everything you need to get started.