TCPShield Plugin

Documentation regarding the TCPShield Plugin

TCPShield requires our plugin installed to allow access to the TCPShield Network. The plugin should only be run on your "Frontend machines" such as your BungeeCord(s) or Spigot, but never both. Historically, this plugin was referred to as RealIP, but now we simply call it the TCPShield plugin.

Configuration

Our configuration is very simple, and often requires zero change on your part. only-allow-proxy-connections: true

It is very important you keep the only-allow-proxy-connections to true when in production. If this isn't set to true, you are NOT protected by TCPShield and are vulnerable to scanners which can find your backend IP address.

enable-geyser-compatibility: false

For your own safety it is crucial that you do only set this to true if you are using TCPShield's Geyser tunnel. If you do not follow our advice, your backend is not only easily scannable but your IP is easily queryable by DNS and thus prune to attacks. We do not provide support in case you do this anyways.

debug-mode: false

Supported Versions

If you are running Spigot standalone (i.e. no proxy in front) you will need to install ProtocolLib for the plugin to work

The plugin is a Bungee/Spigot hybrid. As of 5/11 we have tested against the following versions:

  • BungeeCord 1.16.1

  • Spigot 1.12.2 (Requires ProtocolLib)

  • Paper 1.12.2 / 1.16.5 (Requires ProtocolLib)

  • Velocity 1.12.2

  • FlameCord 1.16.1

  • Many more!

This does not mean your version of Bungee/Spigot won't work, we just cannot guarantee it at this time. If you find a version in which it doesn't work against, please contact our support. We also ensure the plugin will work on Java 8 and 11.

We do have the ability to support LilyPad, however for many reasons we do NOT recommend you use it. If you need LilyPad support, please reach out to our staff.

Plugin Conflicts

There are some plugins we know of that conflict with the TCPShield plugin. This list is not exhaustive, but at this time the following plugins conflict.

  • ServerMOTDPlus

  • TBD

Please consider reaching out to these authors and asking them to adjust the event priority of their plugins

A General Debugging Tip

If your server is having issues, and you suspect TCPShield may be the issue, you can disable the only-allow-proxy-connections option. You, or a player you trust can be then given the backend IP to directly connect to see if the problem persists. By doing this, you will bypass TCPShield and perhaps find it easier to find the root cause of the issue. However, do not do this for long periods of time. This is risky to leave disabled as a scanner could pickup your MOTD and DDoS your backend directly.

Source Code

The source code to our plugin can be found on GitHub. Pull requests are welcome!