最新消息
  • 您好下载中心的主题现已开启全免费下载!
  • 通过购买升级账户到相应的用户组 36元/6个月、24元/季度、7元/月、4元/周。 免费用户组升级
  • 欢迎 游客 您的光临,下载之前请先阅读 下载资源说明 少走弯路。任何技术问题请在论坛提问,本站定制插件售前、售后问题请联系QQ:5916171
  • 点击链接加入群聊【XenForo讨论社区】:群号:143277648
XenforoLogin

插件 XenforoLogin v1.0

没有下载权限
兼容版本
  1. 2.1
  2. 2.2
安装要求
BUKKIT
原贴地址
https://github.com/hs-err/XenforoLogin
示例地址
https://bbs.xiayiworld.com/
语言
英文 (English)
插件语言包
https://www.mcbbs.net/thread-962077-1-1.html
前置插件
ProtocolLib


使用论坛中的用户信息登录Minecraft
通过安装本插件,你可以使用论坛账号登录Minecraft,也可以在MC中注册论坛账号。
目前已支持Xenforo,Discuz的登录及注册,以及使用mysql,sqlite同步其他的用户系统,或使用Web API同步自己编写的网站
小白腐竹不需要担心开论坛却不会同步的问题。对于现有Authme服务器,我们提供无偿数据导入服务,欢迎私聊
优点
  • 使用ProtocolLib在登录前隐藏玩家背包
  • 在登录前隐藏
  • 直接在聊天栏中输入密码
  • 全异步网络请求
  • 在登录前切换至观察者模式
  • 使用交互式方法注册
  • 支持较多的后端
    • Xenforo 使用 RestAPI
    • UCenter (Discuz) 使用 php支持脚本
    • MySQL 使用 socket
    • SQLite 使用 file
    • 自定义的网页API
将要完成
  • 支持使用fabric的服务器
  • 支持使用sponge的服务器
  • 支持session(在登出后保持一段时间登录状态)
配置Xenforo

1.安装插件。

下载.jar文件并将其复制到 /plugins 文件夹,然后启动服务器。一切开始之后,关闭服务器。​
2.创建一个API密钥。
您可以在此处创建API密钥(其中http://example.com为xenforo访问目录):http://example.com/admin.php?api-keys
您还需要创建一个具有 auth 和 user:read 权限的超级管理员密钥。
复制您的密钥。​
3.配置插件
编辑 config.yml 。
api:
system: "xenforo" # 修改为xenforo
xenforo:
url: "http://example.com/api" # 其中http://example.com为xenforo访问目录
key: "XXXX0000XXXX0000XXXX00_00XXXX000" # 一个具有 auth 和 user:read 权限的超级管理员密钥
4.享受!
配置Discuz
1.安装插件。
下载.jar文件并将其复制到 /plugins 文件夹,然后启动服务器。一切开始之后,关闭服务器。​
2.将支持文件复制到Discuz根目录
建议将文件名更改为不易猜测的文件名,例如 sgdwdegj3hr8h3uf2hewh.php
浏览附件1469524
3.复制你的UCenter密钥
一般在 管理面板->Ucenter->应用管理->Discuz! Board后面的编辑->通讯密钥
4.配置文件
discuz:
url: "http://example.com/XenforoLogin.php" # 2中设置的文件的访问路径
key: "YOUR_KEY_HERE" # ucenter的通讯密钥
5.享受!

配置Mysql
1.安装插件。
下载.jar文件并将其复制到 /plugins 文件夹,然后启动服务器。一切开始之后,关闭服务器。​
2.配置文件
api:
system: "mysql"
mysql:
# 数据库地址
host: "localhost:3306"
# 数据库用户名
username: "xenforoLogin"
# 数据库密码
password: "xenforoLogin"
# 数据库名
database: "xenforoLogin"
# 数据库表名
table_name: "users"
# 邮箱字段名
email_field: "email"
# 用户名字段名
username_field: "username"
# 密码字段名
password_field: "password"
# 盐字段名
salt_field: "salt"
# 盐长度
salt_length: 6
# 密码加密方式
# 最推荐 : BCrypt
# https://github.com/Mohist-Community/XenforoLogin/wiki/Select-password_hash
password_hash: "BCrypt"
3.重启服务器

配置SQLite
1.安装插件。
下载.jar文件并将其复制到 /plugins 文件夹,然后启动服务器。一切开始之后,关闭服务器​
2.配置文件
api:
system: "sqlite"
sqlite:
# 用户数据库的地址
path: "Users.db"
# 是否为绝对路径
# 绝对路径:例如C:/a.db
# 相对路径:例如/a.db
absolute: false
# 存储用户信息的用户表
table_name: "users"
# 邮箱字段名
email_field: "email"
# 用户名字段名
username_field: "username"
# 密码字段名
password_field: "password"
# 盐字段名
salt_field: "salt"
# 盐长度
salt_length: 6
# 密码加密方式
# 最推荐 : BCrypt
# https://github.com/Mohist-Community/XenforoLogin/wiki/Select-password_hash
password_hash: "BCrypt"
3.享受!

配置WebApi
前方高能,非开发者请勿打开
1.安装插件。
下载.jar文件并将其复制到 /plugins 文件夹,然后启动服务器。一切开始之后,关闭服务器​
2.配置文件
api:
system: "web"
web:
# api地址
url: "http://example.com/api.php"
# 应用密钥
key: "YOUR_KEY_HERE"
3.编写api.php
header中 XenforoLogin-Key 用于传递密钥
post参数中action表示请求时间

join:玩家加入服务器时
包含一个参数
username 加入玩家的用户名
返回一个json
.result 表示状态,可以为以下值
ok 表示用户存在,用户名正常
! name_incorrect 用户名错误(需要验证大小写是否与数据库中的一致)非常重要!!!
当返回name_incorrect时,必须包含correct参数,为正确的用户名

no_user 用户不存在,根据配置文件中api.register来决定踢出玩家还是进行注册

login:玩家输入密码后
包含一个参数
username 加入玩家的用户名
返回一个json
.result 表示状态,可以为以下值
ok 表示密码正确
! name_incorrect 用户名错误(需要验证大小写是否与数据库中的一致)非常重要!!!
当返回name_incorrect时,必须包含correct参数,为正确的用户名
no_user 用户不存在,根据配置文件中api.register来决定踢出玩家还是进行注册
password_incorrect 密码错误
unknown 未定义的错误,当返回unknown时,必须返回code,message
code 错误码
message 发给用户的消息

register:玩家交互到注册时
ok 注册成功
user_exist 用户名已经被注册
email_wrong 邮箱格式错误(一般在插件已经进行了一次验证)
email_exist 邮箱已经被注册
unknown 未定义的错误,当返回unknown时,必须返回code,message
code 错误码
message 发给用户的消息

配置文件翻译
api:
# 用户系统
# xenforo | https://github.com/Mohist-Community/XenforoLogin/wiki/Installation-for-Xenforo
# discuz | https://github.com/Mohist-Community/XenforoLogin/wiki/Installation-for-Discuz
# web | https://github.com/Mohist-Community/XenforoLogin/wiki/Installation-for-Web
# sqlite | https://github.com/Mohist-Community/XenforoLogin/wiki/Installation-for-Sqlite
# mysql | https://github.com/Mohist-Community/XenforoLogin/wiki/Installation-for-Mysql
system: "sqlite"
# 是否可以在游戏内注册
register: true
xenforo:
# api地址
url: "http://example.com/api"
# 一个具有auth user:read权限的API-Key
key: "YOUR_KEY_HERE"
discuz:
# api地址
url: "http://example.com/XenforoLogin.php"
# 应用密钥
key: "YOUR_KEY_HERE"
web:
# api地址
url: "http://example.com/api.php"
# 应用密钥
key: "YOUR_KEY_HERE"
sqlite:
# 用户数据库的地址
path: "Users.db"
# 是否为绝对路径
# 绝对路径:例如C:/a.db
# 相对路径:例如/a.db
absolute: false
# 存储用户信息的用户表
table_name: "users"
# 邮箱字段名
email_field: "email"
# 用户名字段名
username_field: "username"
# 密码字段名
password_field: "password"
# 盐字段名
salt_field: "salt"
# 盐长度
salt_length: 6
# 密码加密方式
# 最推荐 : BCrypt
# https://github.com/Mohist-Community/XenforoLogin/wiki/Select-password_hash
password_hash: "BCrypt"
mysql:
# 数据库地址
host: "localhost:3306"
# 数据库用户名
username: "xenforoLogin"
# 数据库密码
password: "xenforoLogin"
# 数据库名
database: "xenforoLogin"
# 数据库表名
table_name: "users"
# 邮箱字段名
email_field: "email"
# 用户名字段名
username_field: "username"
# 密码字段名
password_field: "password"
# 盐字段名
salt_field: "salt"
# 盐长度
salt_length: 6
# 密码加密方式
# 最推荐 : BCrypt
# https://github.com/Mohist-Community/XenforoLogin/wiki/Select-password_hash
password_hash: "BCrypt"

# 设置登陆点,为null则为世界重生点
spawn:
world: null
x: null
y: null
z: null

teleport:
# 是否tp到登陆点
tp_spawn_before_login: true
# 是否在登陆后返回上次的地址
tp_back_after_login: true

secure:
# 在登录前隐藏背包
hide_inventory: true
# 在未登陆时使用观察者模式
spectator_login: true
# 默认游戏模式
default_gamemode: 0
# 多久显示一条提示(单位 秒)
show_tips_time: 5
# 多久踢出未登陆的玩家
max_login_time: 30
# 是否在登陆后继续阻止发言?(非常适合有登录服的服务器
cancel_chat_after_login: false

lang:
register_email: "§6[§1XenforoLogin§6]§1§f 请在聊天框输入你的邮箱进行注册."
register_password: "§6[§1XenforoLogin§6]§1§f 请在聊天框输入你你要注册的密码."
register_password_confirm: "§6[§1XenforoLogin§6]§1§f 请再输入一遍~."
logged_in: "§6[§1XenforoLogin§6]§1§f 你登陆过了."
success: "§6[§1XenforoLogin§6]§1§f 登 陆 成 功 ~"
need_login: "§6[§1XenforoLogin§6]§1§f 请输入你的密码."
errors:
email: "§6[§1XenforoLogin§6]§1§f 错误的邮箱."
server: "§6[§1XenforoLogin§6]§1§f 我们在尝试连接到服务器时出现了一个问题, 请联系这个服务器的管理员进行反馈."
confirm: "§6[§1XenforoLogin§6]§1§f 密码不相同"
handle: "§6[§1XenforoLogin§6]§1§f 我们将很快完成你的请求,如果占用了太长时间,请联系这个服务器的管理员进行反馈."
password: "§6[§1XenforoLogin§6]§1§f 密码错误."
key: "§6[§1XenforoLogin§6]§1§f 请检查 api.key [key]"
url: "§6[§1XenforoLogin§6]§1§f 请检查 api.url " no_user: "§6[§1XenforoLogin§6]§1§f 找不到用户." time_out: "§6[§1XenforoLogin§6]§1§f 登陆超时!" name_incorrect: "§6[§1XenforoLogin§6]§1§f 你应该用 \"[correct]\" 作为用户名, 而不是这个." unknown: "§6[§1XenforoLogin§6]§1§f 未知错误.服务器返回 \"[message]\"" mail_exist: "§6[§1XenforoLogin§6]§1§f 这个邮箱已经被注册了!尝试换一个?" user_exist: "§6[§1XenforoLogin§6]§1§f 这个名字已经被注册过了!尝试换一个?"
开源协议
我们根据LGPLv3协议开源,任何在LGPLv3范围内的使用均不需要我们的同意。
附加协议:You are not permitted to interfere any protection that prevents loading in CatServer
中文翻译(如有争议以英文版本为主):你不被授权影响本插件阻止被CatServer加载
由于是开源项目,我们接收了来自各方的pull request,由于审理问题造成的损失,请及时与我们联系。我们将尽量补偿你的损失。



作者
hs_err
下载
12
查看
605
首次发布
最后更新
评分
5.00 星 1 星

来自hs_err的更多资源

分享资源

最新评论

这么好的插件居然没人评论,那第一个评论我就拿下了。支持!
顶部 底部