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
- Host: GitHub
- URL: https://github.com/kmcsr/login_proxy_mcdr
- Owner: kmcsr
- License: gpl-3.0
- Created: 2022-09-18T18:21:30.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-20T03:09:08.000Z (about 1 year ago)
- Last Synced: 2025-04-20T04:20:25.356Z (about 1 year ago)
- Topics: mcdr-plugin, mcdreforged, minecraft-protocol
- Language: Python
- Homepage:
- Size: 293 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
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
}
```