Country on Join - Bukkit Edition

Country on Join - Bukkit Edition - Country on Join - 玩家国家加入提示

广播玩家加入消息时提及其连接所在国家。支持多语言。
Bukkit / Spigot 作者 LinceMaquinola 支持版本 1.8 - 1.16
服务器使用量
未统计
服务玩家数
未统计
下载量
4,680
插件详细介绍

简介

Country On Join 是一款 Bukkit 插件,可在玩家加入服务器时,根据其连接 IP 所属国家/地区,播报包含国家/地区信息的加入消息。同时,它也提供了相关命令和 PlaceholderAPI 占位符,供你查询玩家的国家/地区信息。

功能特性

  • 多语言与自定义消息:默认支持英语、西班牙语、俄语和简体中文。你可以轻松创建自己的翻译文件。
  • 可配置的加入消息:可选择替换原版加入消息,或额外播报一条新消息。
  • PlaceholderAPI 支持:提供占位符,可在其他插件中使用玩家的国家/地区信息。
  • 命令查询:可通过命令实时查询在线玩家的国家/地区。
  • 权限控制:可控制谁可以隐藏自己的国家/地区信息或使用管理命令。
  • 内置 GeoIP 数据库:插件已包含所需数据库,开箱即用。

配置说明

配置文件为 config.yml,主要选项如下:

消息与广播设置

  • replaceDefaultJoinMessage: true
  • 设为 true替换原版 MC 加入消息。
  • 设为 false额外播报一条新消息(可用于解决其他插件修改加入消息的冲突)。
  • broadcastOnUnknownCountry: true
  • 当无法获取玩家国家/地区(例如内网连接)且 replaceDefaultJoinMessagefalse 时:
  • 设为 true 则仍播报加入消息。
  • 设为 false 则不播报任何加入消息。
  • broadcastAltJoinMsgOnUnknownCountry: true
  • 当无法获取国家/地区且 broadcastOnUnknownCountrytrue 时:
  • 设为 true 则播报不含国家/地区信息的备用消息。
  • 设为 false 则使用“未知”作为国家/地区名播报普通消息。

本地化与数据库

  • messages-culture: "en-US"
  • 指定使用的消息语言文件,对应 messages 文件夹中的 messages.<culture>.yml
  • countrynames-culture: "en-US"
  • 指定使用的国家/地区名称文件,对应 countrynames 文件夹中的 countrynames.<culture>.yml
  • enablePlaceholderAPIHook: true
  • 是否启用 PlaceholderAPI 支持。如果服务器未安装 PlaceholderAPI,此设置将被忽略。
  • geoIPDB: "GeoLite2-Country.mmdb"
  • 指定要加载的 GeoIP 数据库文件名。可用于手动更新数据库。
  • debug: false
  • 是否在控制台输出调试信息。生产环境建议关闭。

命令

  • /countryonjoin reload
  • 重新加载插件配置与消息文件,无需重启服务器。
  • 所需权限:countryonjoin.command.reload
  • /country <玩家名>
  • 查询指定在线玩家的国家/地区信息。
  • 所需权限:countryonjoin.command.country

权限

  • countryonjoin.hide
  • 允许玩家隐藏自己的国家/地区信息。这也会影响占位符的返回值。
  • 默认:false(所有玩家可见)
  • countryonjoin.command.reload
  • 允许使用 /countryonjoin reload 命令。
  • 默认:false(仅 OP/控制台)
  • countryonjoin.command.country
  • 允许使用 /country <玩家名> 命令。
  • 默认:false(仅 OP/控制台)

PlaceholderAPI 占位符

如果服务器安装了 PlaceholderAPI 且配置中已启用,则可使用以下占位符:

  • %countryonjoin_player_country_code%
  • 获取玩家的国家/地区 ISO 代码(例如 CN、US)。
  • %countryonjoin_player_country_name%
  • 获取玩家的国家/地区全名(例如 China、United States)。

安装指南

  • 将下载的 JAR 文件放入服务器的 plugins 文件夹。
  • 重启服务器以生成配置文件和文件夹。
  • 如需使用占位符,请确保已安装 PlaceholderAPI 插件。
  • 根据需求编辑 plugins/CountryOnJoin/config.yml 文件。
  • 在游戏内使用 /countryonjoin reload(需权限)或在控制台输入 countryonjoin reload 以重载配置。
  • 完成!

常见问题解答

为什么不显示我的国家/地区?

  • 你可能处于内网环境,插件需要你的公网 IP 才能工作。
  • 请检查服务器是否能获取到玩家的真实 IP。如果使用了 BungeeCord 等代理,需要正确配置 IP 转发,或直接使用本插件的 Bungee 版本
  • 如果你给玩家授予了 * 通配符权限,这会将 countryonjoin.hide 权限一并授予,从而导致国家/地区信息被隐藏。

它的工作原理是什么?

  • 本插件使用由 MaxMind 提供的 GeoLite2 数据库进行 IP 地理定位。更多信息请访问:http://www.maxmind.com

我需要更新数据库吗?

  • GeoLite2 数据库通常在每月第一个星期二更新。你可以从 MaxMind 官网 下载最新的“GeoLite2 Country”数据库(选择“MaxMind DB binary, gzipped”格式)。
  • 解压后,将 .mmdb 文件重命名(例如 GeoLite2-Country_custom.mmdb)并放入插件文件夹。
  • 最后,在 config.yml 中将 geoIPDB 选项改为你使用的文件名(例如 GeoLite2-Country_custom.mmdb)。

如何创建新的翻译?

  • messages 文件夹中创建新文件,命名为 messages.<culture>_custom.yml
  • countrynames 文件夹中创建新文件,命名为 countrynames.<culture>_custom.yml(其中 <culture>_custom 是你自定义的文化标识)。
  • 复制现有语言文件的内容作为翻译基础。
  • config.yml 中,将 messages-culturecountrynames-culture 的值改为你设定的文化标识。
  • 重载配置或重启服务器。

注意:请勿直接修改默认文件,更新插件时它们会被覆盖。

为什么加入消息重复了?

  • 请检查 config.yml 中的 replaceDefaultJoinMessage 设置。如果你希望只显示一条消息,请将其设为 true

插件不工作,没有显示任何加入消息?

  • 可能是其他插件拦截或修改了加入消息。你可以尝试将 config.yml 中的 replaceDefaultJoinMessage 设为 false

为什么 JAR 文件这么大?

  • 因为插件内置了完整的 GeoIP 数据库以及运行所需的所有库文件,以确保无需任何外部依赖即可运行。

我可以在 BungeeCord 上使用它吗?

  • 可以,但前提是已正确配置 IP 转发,并且需要在每个子服务器上都安装此插件。更推荐的做法是直接使用本插件的 Bungee 版本

服务器提示“Unable to load JDK7 types...”警告?

  • 这是一个来自第三方库的警告信息,目前无法消除。你可以安全地忽略它,不影响插件功能。

未来版本计划

以下是无优先级的未来功能构想,欢迎在讨论区或 GitHub 提出建议或参与开发:

  • 缩小体积:开发工具以精简 GeoIP 数据库,减少插件大小、内存占用并可能加快查询速度。
  • 消除警告:移除“Unable to load JDK7 types...”警告。
  • 添加缓存:玩家在线期间,其 IP 对应的国家/地区信息将被缓存,避免重复查询。
  • 显示昵称:在加入消息中显示由其他插件提供的玩家昵称,而非用户名。
  • 性能优化:在独立线程中进行地理查询,并可能添加超时机制。
  • 扩展翻译:支持翻译更多插件消息,例如 /country 命令的返回信息。
  • 数据统计:让服主了解哪些国家/地区的玩家更多。
  • 更新系统改进:检测数据库文件更新,允许使用原始文件名,并自动更新配置中的新条目。

暂不考虑添加的功能

  • 国家/地区白名单/黑名单:此功能已有其他插件实现,且作者认为此类限制更适合在路由器层面进行。

---

测试版本:已在所述游戏版本中测试。欢迎分享你在其他版本上的使用结果。

开源协议:本插件为开源项目,采用公共领域(Public Domain)许可。

测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16
版本分布
基本信息
插件名称 Country on Join - Bukkit Edition
作者 LinceMaquinola
平台 Bukkit / Spigot
支持版本 1.8 - 1.16
点赞数 2
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,606,512  |  历史访问人次:3,160,266

今日访问人数:27,354  |  今日访问人次:29,887

昨日访问人数:24,332  |  昨日访问人次:29,698

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6