An open API service indexing awesome lists of open source software.

https://github.com/kmcsr/login_proxy_mcdr

A MCDR plugin proxy the login protocol
https://github.com/kmcsr/login_proxy_mcdr

mcdr-plugin mcdreforged minecraft-protocol

Last synced: about 1 year ago
JSON representation

A MCDR plugin proxy the login protocol

Awesome Lists containing this project

README

          

- English
- [中文](README_zh.MD)

# Login Proxy

*If it's useful, please give a star :)*

Similar project:

## Feature

- Use **reverse proxy** to proxy minecraft server **login package**, *clients will never bypassing the whitelist*
- The best offline whitelist plugin

## Current supported Minecraft version

`1.8 ~ 1.21.4`

## Dependencies

| ID | Release Link | Is Optional |
|----|----|----|
| [`kpi`](https://github.com/kmcsr/kpi_mcdr) | | required |
| [`packet_parser`](https://github.com/kmcsr/packet_parser_mcdr) | | optional |

## How to configure it

1. (TODO)

## Config files

#### loginproxy/config.json _(the mainly config file)_

```javascript
{
"minimum_permission_level": { // Command permissions
"help": 0,
"list": 1,
"query": 2,
"banned": 2,
"ban": 2,
"banip": 3,
"pardon": 3,
"pardonip": 3,
"whitelist": 2,
"enable": 3,
"disable": 3,
"allow": 3,
"allowip": 3,
"remove": 3,
"removeip": 3,
},
"proxy_addr": { // The address of proxy server, please never make it as same as the minecraft server address
"ip": "", // IPv4 ip for the proxy server, set it `null` to disable ipv4
"port": 25565, // The port for the IPv4 IP above
"ipv6": "::", // IPv6 ip for the proxy server, set it `null` to disable IPv6
"ipv6_port": 25565, // The port for the IPv6 IP above
},
"enable_whitelist": false, // enable/disable whitelist
"enable_ip_whitelist": false, // enable/disable ip whitelist
"whitelist_level": 3, // Ignore whitelist when player have permission above or equal this
"kick_cmd": "kick {name} {reason}", // Kick command to kick online player out; leave it empty for force disconnect the player
"messages": {
"banned.name": "Your account has been banned", // Show when player's name has been banned
"banned.ip": "Your ip has been banned", // Show when client's IP has been banned
"whitelist.name": "Your account not in the whitelist", // Show when player's name not in the whitelist
"whitelist.ip": "Your ip not in the whitelist" // Show when client's IP not in the whitelist
},
"allow_transfer": true, // whether or not allow player transfer from another server
"enable_packet_proxy": false, // whether or not parse network packets. Must install packet_parser first. Required for most plugins that depends on loginproxy
"online_mode": false, // same as online-mode in vanilla server.properties
"identify_by_online_uuid": true, // use uuid instead of player name to identify a player (used in blacklist/whitelist)
"uuid_cache_ttl": 3600 // uuid request cache time in seconds
}
```

#### loginproxy/list.json _(blacklist & whitelist file)_

```javascript
{
"banned": [], // Banned players
"bannedip": [], // Banned IPs
"allow": [], // Whitelist of players
"allowip": [] // Whitelist of IPs
}
```