Celerity

迅捷:基于地理位置的服务器重定向:这个插件允许玩家根据他们的地理位置连接到最近的代理服务器。

资源图片
# Celerity: 基于地理位置的服务器重定向 # 风险自负 (请勿用于生产环境) ## 关于 这个插件允许玩家根据他们的地理位置连接到最近的服务器。玩家只需输入 myserver.com,他们就会自动重定向到最近的服务器,而无需代理他们的连接。 示例场景: 服务器 A (east.myserver.com) 位于纽约。 服务器 B (west.myserver.com) 位于洛杉矶。 通过 myserver.com 连接的玩家将被重定向到服务器 A 或服务器 B,具体取决于哪个地理位置更近。 ## 路线图 这仍然是一个正在进行中的项目,但以下是需要完成的基本路线图: - 设置缓存过期系统。 - 允许旧版本客户端连接。 - 添加更多 API 选项 - 允许本地存储 IP 历史记录。SQLite? 如果您想提供帮助,请查看 Github! ## 安装 将它放入主代理服务器的 velocity 插件文件夹中,然后确保所有下游服务器都配置为接受带有传输数据包的玩家。 然后它将创建一个类似这样的 config.toml 文件: ``` [settings] # 列出在用户使用这些域名连接时,不应发生传输的域名 no_transfer_domains = ["east.myserver.com", "est.myserver.com"] debug = false # 启用以获取调试消息。您知道的,套路 [settings.api] enabled = true # 禁用此项将阻止使用 API。 provider = "ipgeolocation" # 目前只支持 ipgeolocation (https://ipgeolocation.io/),请前往那里创建 API 密钥 key = "somekeyyouget" # 如果不需要密钥,请设置为 None [settings.db_cache] enabled = true # 是否使用数据库缓存功能 cache_ip = true # 在数据库中保存 IP 地址 cache_username = true # 在数据库中保存用户名(可能会降低准确性) cache_expire = 730 # 小时,直到缓存条目过期(0 禁用过期) [db] ## 缓存的数据库配置 address = "120.0.0.1:12345" database = "fundatabase" table_prefix = "cel_" username = "username" password = "password" [servers] ## 服务器配置部分 [servers.easternserver] ip = "east.myserver.net" port = 25565 latitude = 40.7128 # 示例:纽约市的纬度 longitude = -74.0060 # 示例:纽约市的经度 [servers.westernserver] ip = "123.45.68.79" port = 42069 latitude = 34.0522 # 示例:洛杉矶的纬度 longitude = -118.2437 # 示例:洛杉矶的经度 ``` ## 构建 您应该可以使用 Maven 和 Java 21 构建此插件。