Skip to content

About

Checks where a connection comes from (VPN, proxy, country) and kicks blocked players at login. For Velocity, BungeeCord, and Bukkit/Spigot/Paper.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

OriginGate: VPN, proxy, and country checks at login

OriginGate

OriginGate checks where each player connects from on Bukkit/Spigot/Paper, BungeeCord, and Velocity. It can kick players who use a VPN or proxy, or who connect from a country you do not allow. Checks finish before world admission or the first backend connection.

  • IP data from proxycheck.io, IPHub, ip-api.com, IPinfo, or a local MaxMind GeoLite2 file. You choose which, and can combine them.
  • Lookups are saved (SQLite, or MySQL/MariaDB), so each IP is looked up at most once every 30 days by default.
  • Rules for VPNs, proxies, hosting networks, countries, and networks or addresses you list. Every rule is optional and has its own bypass permissions.
  • Staff alerts when a lookup provider stops answering, origingate status, and a lookups-per-minute limit against bot floods.
  • Dry-run mode shows what would happen without kicking anyone.

Requirements

Platform Requirement JAR
Bukkit / Spigot / Paper / Purpur Minecraft 1.7.2 or newer, Java 8 or newer (also meet your server's Java requirement) OriginGate-Bukkit-<version>.jar
BungeeCord / Waterfall 1.21-R0.4 API or newer with asynchronous PostLoginEvent, Java 8 or newer (current BungeeCord and Waterfall builds need Java 17) OriginGate-BungeeCord-<version>.jar
Velocity 3.4.0 or newer, Java 21 or newer OriginGate-Velocity-<version>.jar

See compatibility for tested builds and the reconnect requirement on old offline-mode CraftBukkit.

SQLite storage runs on Linux (x86_64 and aarch64, glibc and musl), Windows (x86_64 and aarch64), and macOS (x86_64 and aarch64). Elsewhere, use MySQL or MariaDB; see compatibility.

A proxycheck.io API key is optional. Without one, proxycheck.io allows 100 lookups per day; a free account raises that to 1,000.

Quick start

  1. Download the JAR for your platform from releases and put it in its plugins folder.
  2. Start the server or proxy. OriginGate creates config.yml and messages.yml in plugins/OriginGate (Bukkit/BungeeCord) or plugins/origingate (Velocity).
  3. In config.yml, add your API keys and turn on the rules you want. Start with dry-run: true.
  4. Run origingate reload in the console.

Documentation

Read the docs on the web at kaizenmc.id/software/origingate, or here on GitHub:

Working on OriginGate itself? See contributing.

License

GPL-3.0-only. See LICENSE and THIRD_PARTY_NOTICES.md.

About

Checks where a connection comes from (VPN, proxy, country) and kicks blocked players at login. For Velocity, BungeeCord, and Bukkit/Spigot/Paper.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages