您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 4302|回复: 2

[原创插件] [管理|安全]FastLogin —— 轻量化的登录插件 [1.6.x-1.12.x]

[复制链接]

该用户从未签到

发表于 2019-4-7 07:43:22 | 显示全部楼层 |阅读模式
服务端插件
中文名称: 快速登录
英文名称: FastLogin
来源: 原创
类型: |Bukkit/Spigot插件| 
前置插件: GeneralDataCoreV5
原帖地址: -
下载地址: 2019-4-7 07:42:18
更新时间: 2019-4-7 07:42:20
语言支持: 简体中文 繁體/正體中文 English 依赖于预先设置的字段语言 日本語 其它 
本帖最后由 KspTooi 于 2019-4-7 07:48 编辑




FastLogin - 一个轻量化的登录插件

什么是FastLogin?
FastLogin是一个非常轻量化的登录插件,和臃肿的AuthMe比起来,它非常轻量化,配置简单易上手.命令少,节约内存与CPU开销,也没有许多无用的设置与功能选项,非常适用于中小型服务器。
这个插件可以防止玩家在没有注册/登录时输入命令,移动,与方块交互,等操作.还可根据自己的需要自定义语言文件。
除此之外,它也会随着版本更新而不断添加一些新的功能。

·开发日志(Update 0.41C!!):
0.41-E-PR——重新绘制了插件的新LOGO!(没想到你居然是这样FastLogin

0.41-D-RE
——将插件中的一些硬编码语言重新添加至语言文件!新特性:玩家登录与注册输入的密码 服务器后台将不可见.

0.41-C-RE
——更改了几个命令,方便记忆. 删除所有旧版本插件下载链接. 优化了一下字体颜色. 修复:当OP使用命令更改玩家密码后 玩家将会被踢出服务器.需要重新登录.

0.40-Y-45RE——新的安全机制:插件现在支持使用MD5加密玩家的密码.  使用过旧版本插件的腐竹需要在配置中开启Enable_SupportOldPassword

0.40-H-25RE
——新的安全机制:拥有创造模式的玩家在登录前将被强制改为生存,登录后将会恢复. ; 当一位拥有创造模式的玩家进入服务器时没有注册,他的创造模式将会被永久取消. 修复一些OP命令执行时的显示错误.

0.40-Y-8RE——
新特性:玩家未登录时将获得失明,玩家登录成功后将会有粒子效果.

0.40-L-RE——修复与某些NPC MOD或者NPC插件不兼容产生的问题.

0.40-F-RE
——修复某些1.6.4服务端的兼容问题.现在可以完美兼容1.6.x服务端.
这是最后一个支持1.6.x的版本!!

0.40-E-PR——新的安全机制 :当一位OP玩家进入服务器时没有注册,他的OP将会被永久取消.


·历史更新内容:


0.40-B PR[正式版]——我们计划在这个版本进行插件重构,推翻并重写整个插件内部架构使其扩展性/维护性上升到一个新的高度,同时它的前置框架GeneralDataCore也进行了重构以便适应新的改动,重构后的FastLogin将会更稳定,更快速,更安全!
(这需要一段时间 这也是这个插件近几个版本都没有添加新功能的原因之一 · 我们在为插件重构做准备)
0.40-A-PR[重要更新](开发预览版)——前置插件GeneralDataCore更新至V5(大幅提高GD文件查询效率),插件本体结构部分重制.便与开发维护. 修复几处BUG
0.37-B PR——地狱门检测优化,如果玩家登录时在地狱门中则将地狱门方块替换为空气,修改了一些语言文件字段名,使其更易辨认.
0.37-A-30-PR(开发预览版本)——修复"玩家登录保护"功能无效的BUG. 修正登录时在地狱门中导致的无法登录问题.将之前插件中的一些硬编码语言重新添加至语言文件!
0.37-A-RE(开发预览版本)——新特性:位置数据的存储将会更加精确,不会再丢失小数点,优化程序结构,大幅提高了数据库查询时的效率!配置文件再次改进.
0.36-F-30-RE——修复一处BUG:数据库连接会在无访问8小时后自动被断开.
0.36-F-15-RE——修复一处BUG:当玩家输入注册命令时不管有没有成功执行,他的IP都会被记录.
0.36-F-08-RE——[重要更新]:启用对GeneralDataCoreV4的支持(从此版本开始无法使用旧版GeneralDataCore),由于使用了gdcV4,FastLogin从这个版本开始支持使用Mysql进行存储数据! 新特性——现在可以自定义玩家退出服务器的公告,插件配置文件现在的排版更好看.
0.36-G-26-RE——包含几十处细节修改.修改了一些配置文件字段名,使其更容易辨别.优化了插件结构.移除了注册线程中多余的调用方法.
(之前的配置文件里面没有大写字符是因为GeneralDataCore的早期版本不支持大写字符)
0.36-G-21——修复了一个重要BUG!务必更新.
0.36-G-15——修复影分身BUG,现在2名同名玩家同时在线则全部会被踢掉,新特性:插件升级版本后会自动备份旧版配置文件而不是每次都要重新配置.
0.36-D:新功能——现在可以自定义玩家进服与登录成功的公告(详细内容见配置文件).
0.36-B:更新版本支持,现在支持1.6.x到1.12.x的所有版本.
0.36-A:启用对新版本GeneralDataCoreV3.1的支持!(自此版本开始无法使用旧版的GeneralDataCore)因为早期版本的GDC在高负载下效率不足,这个缺陷在v3.1以后被修正。
0.35-C:尝试支持Sponge[放弃了]
0.35-B:新特性——机制更改,修复了当玩家未登录时移动视角会出现的"鬼畜" , 自此版本后当玩家进入服务器但未登录时在空中 FastLogin将允许玩家掉落至地面。修复了对部分Mod的兼容问题 此外将允许使用自定义正则表达式对玩家名称进行判断.
0.35-A[重要更新]——前置插件GeneralDataCore更新至V3,废弃大量API,减少编码工作量以及扩展性与可维护性.
0.35[重要更新]——修复大量BUG,修复某些无效的功能,修复后台报错。
0.34-A:新特性——前置插件GeneralDataCore更新至V2,大量采用异步IO,使得插件的效率变得非常高!
0.34——修复已知BUG,每次开启服务器时配置文件会重置.
0.33——将插件80%的代码进行了重制,保证了今后的扩展性和可维护性。
*0.32[重要更新]——OP账号在登陆之前将不会是OP,优化性能,采用异步IO,在垃圾硬盘下的性能大幅提升!
0.31-D:新特性——增加了对玩家IP的判断项(详细见配置文件介绍)
*0.3.1-C:新特性——增加了对玩家名称的判断项(详细见配置文件介绍),增加了1个命令,用于OP强制更改玩家密码。
*0.3.1-A:新特性——添加了一个可以修复卡位置的选项(需要先设置固定上线点,然后将配置文件中的locationprotection项改成true)
0.3.1R1:插件稳定性得到提升,优化了一些算法,修复某些指令执行不当造成的NPE。
0.3.1: 新特性 ——现在能够设置固定上线地点,还能自定义登录后的无敌时间, 修复某些情况下的报错. 优化效率.
0.3.0R6:可以设定玩家名称的最小长度,修复了注册和重载命令执行不当而造成的后台报错.   
可以使用/reg和/l 来注册和登录
*0.3.0R5:彻底修复了在Linux系统下无法使用的情况。
0.3.0R4:修复了在Linux系统下玩家名大小写引起的BUG ,从此版本开始 插件会将旧版本玩家数据文件升级为新版数据文件。
0.2.8:优化对Linux系统的支持 但目前Linux下还是有BUG
0.2.6:修复大部分已知BUG 再次优化代码.减少资源占用.
0.2.3:增加玩家改密码功能
0.2.1:修复了玩家会被同ID登录而踢出的BUG
0.1.9:采用新的文件格式, 从此版本开始  插件会将旧版配置文件自动升级为新版配置文件  配置文件名称改为:FastLogin.conf
0.1.7:优化代码,减少占用。
*0.1.4:插件基本功能开发完成





·命令:
        登录:/login 密码  或/l
        注册:/register 密码 确认密码 或/reg
        修改密码:/ModifyPasswd 旧密码 新密码 确认新密码

·管理命令:
        /Fast reload - 重载配置文件
        /Fast set     -  将当前位置设为固定登录点 (设置后玩家上线将被强制传送到此)
        /Fast go      -  传送到你设置的固定登录点

        /Fast del     -  删除固定登录点
        /Fast Reset -  重置某玩家的密码


·权限组:
      
此插件不支持权限组!

·插件配置:

配置文件 - 用NotePad++或其他记事本程序打开:plugins/ksptooi/fastlogin/FastLogin.conf
语言文件:plugins/ksptooi/fastlogin/language.gd
0.37-A 版本后的配置文件
  1. #版本号(不允许修改此项)
  2. Version=0.3.7-A
  3. #用户数据储存介质(如果使用文件储存则填GeneralDataCore 如果使用Mysql则填Mysql)
  4. PlayerDataType=GeneralDataCore
  5. #登录超时(秒)
  6. LoginTimeOut=60
  7. #玩家密码的最大长度
  8. PasswordMaxLength=15
  9. #玩家密码的最小长度
  10. PasswordMinLength=5
  11. #玩家名称的最小长度
  12. PlayerNameMinLength=3
  13. location.world=empty
  14. location.x=empty
  15. location.y=empty
  16. location.z=empty
  17. location.yaw=empty
  18. location.pitch=empty
  19. #在玩家未登录时 登录消息的发送间隔(秒)
  20. MessageInterval=5
  21. #登录以后的无伤时间(秒)
  22. NoDamageTime=0
  23. # true为开启 false为关闭
  24. # 启用安全登录, 此选项开启后玩家进服会被立即传送至默认传送点,并在登录后传送回最后下线的位置.
  25. Enable_LoginSecurity=false
  26. #启用用户名严格模式,此选项开启后玩家将只能使用含有A-Z 0-9和下划线的名字进入游戏(在1.7版本关闭此选项可以使用中文ID)
  27. Enable_UserNameStrictmode=true
  28. #名称含有某个关键字的玩家将不能进服  参考格式=name1;name2;name3;name4(如果不开启填 *;)
  29. BanName=*;
  30. #每个IP的最大注册账号数 如不需要 填0关闭它.
  31. MaxRegisterIP=3
  32. #使用自定义的正则表达式来匹配玩家名,不符合要求的玩家将无法进服.
  33. RegexMatchForPlayerName=*
  34. #玩家登录成功以后收到的公告 如不需要,填false (变量:%Player%玩家名 & 颜色代码 #换行符)
  35. #范本:&A&L欢迎来到&C&LKspTooi&A&L服务器#&A&L请在聊天框输入Login登录#&A&L祝你游戏愉快
  36. PlayerLoginedMessage=false
  37. 玩家进服后所有玩家收到的公告. (变量:%Player%玩家名 & 颜色代码 #换行符)
  38. PlayerJoinedMessage=&e%Player% Joined the game.
  39. #启用OP保护,开启此项后OP进服但未登录时不再是OP,只有当OP账号登录成功以后才拥有OP权限.
  40. Enable_OPSecurity=true
  41. #启用安全警告,开启此项后服务器内有人使用影分身BUG 所有玩家与后台都会收到警告消息.
  42. Enable_SecurityWarning=true

  43. GeneralDataCore - Mysql数据库配置
  44. #Mysql数据库地址
  45. MysqlAddress=127.0.0.1:3306
  46. #数据库名称
  47. DataBaseName=fastlogin
  48. #数据库用户名
  49. MysqlUser=root
  50. #数据库密码
  51. MysqlPwd=root
  52. #数据库附加参数
  53. Param=?useSSL=false&characterEncoding=utf8&serverTimezone=UTC&autoReconnect=true

  54. FastLogin - Mysql数据库配置 #玩家数据表
  55. #玩家数据表名
  56. PlayerDataTable=playertable
  57. #玩家名称字段名
  58. PlayerNameField=playername
  59. #玩家密码字段名
  60. PlayerPwdField=playerpwd
  61. #玩家注册状态字段名
  62. PlayerRegStatusField=register
  63. #玩家登录状态字段名
  64. PlayerLoginStatusField=login

  65. FastLogin - Mysql数据库配置 #玩家位置数据表(!不建议修改)
  66. PlayerLocTable=playerloc
  67. PlayerNameField=Foreign Key
  68. PlayerLocworld=locworld
  69. PlayerLocx=locx
  70. PlayerLocy=locy
  71. PlayerLocz=locz
  72. PlayerLocpitch=locpitch
  73. PlayerLocyaw=locyaw
复制代码
0.36-G-26-RE 版本后的配置文件
  1. #版本号(不允许修改此项)
  2. Version=0.3.6-G-26-RE
  3. #用户数据储存介质(不允许修改此项)
  4. PlayerDataType=GeneralDataCore
  5. #登录超时(秒)
  6. LoginTimeOut=60
  7. #玩家密码的最大长度
  8. PasswordMaxLength=15
  9. #玩家密码的最小长度
  10. PasswordMinLength=5
  11. #玩家名称的最小长度
  12. PlayerNameMinLength=3
  13. location.world=empty
  14. location.x=empty
  15. location.y=empty
  16. location.z=empty
  17. location.yaw=empty
  18. location.pitch=empty
  19. #在玩家未登录时 登录消息的发送间隔(秒)
  20. MessageInterval=5
  21. #登录以后的无伤时间(秒)
  22. NoDamageTime=0
  23. # true为开启 false为关闭
  24. # 启用安全登录, 此选项开启后玩家进服会被立即传送至默认传送点,并在登录后传送回最后下线的位置.
  25. Enable_LoginSecurity=false
  26. #启用用户名严格模式,此选项开启后玩家将只能使用含有A-Z 0-9和下划线的名字进入游戏(在1.7版本关闭此选项可以使用中文ID)
  27. Enable_UserNameStrictmode=true
  28. #名称含有某个关键字的玩家将不能进服  参考格式=name1;name2;name3;name4(如果不开启填 *;)
  29. BanName=*;
  30. #每个IP的最大注册账号数 如不需要 填0关闭它.
  31. MaxRegisterIP=3
  32. #使用自定义的正则表达式来匹配玩家名,不符合要求的玩家将无法进服.
  33. RegexMatchForPlayerName=*
  34. #玩家登录成功以后收到的公告 如不需要,填false (变量:%Player%玩家名 & 颜色代码 #换行符)
  35. #范本:&A&L欢迎来到&C&LKspTooi&A&L服务器#&A&L请在聊天框输入Login登录#&A&L祝你游戏愉快
  36. PlayerLoginedMessage=false
  37. 玩家进服后所有玩家收到的公告. (变量:%Player%玩家名 & 颜色代码 #换行符)
  38. PlayerJoinedMessage=&e%Player% Joined the game.
  39. #启用OP保护,开启此项后OP进服但未登录时不再是OP,只有当OP账号登录成功以后才拥有OP权限.
  40. Enable_OPSecurity=true
  41. #启用安全警告,开启此项后服务器内有人使用影分身BUG 所有玩家与后台都会收到警告消息.
  42. Enable_SecurityWarning=true
复制代码


旧版配置文件
  1. version=0.3.6-G-21                         //识别版本号, 不要改动此项
  2. playerdatatype=generaldata    //玩家数据存储介质 不要改动此项
  3. logintimeout=60                         //登录超时(秒)
  4. passwordlenmaxlength=15       //最大密码长度
  5. passwordlenminlength=5          //最小密码长度
  6. updatatomysql=false                //同步数据到Mysql(当前版本无用,不要修改此项)
  7. minnamelength=3                     //玩家名称最小长度
  8. location.world=empty               //不要修改此项!
  9. location.x=empty                      //不要修改此项!
  10. location.y=empty                      //不要修改此项!
  11. location.z=empty                      //不要修改此项!
  12. location.yaw=empty                 //不要修改此项!
  13. location.pitch=empty                //不要修改此项!
  14. messageinterval=5                   //登录消息的发送间隔(秒)
  15. nodamagetime=0                      //玩家登录后的无敌时间
  16. locationprotection=false          //设置为true后 玩家进服后会被传送到传送点(如果有设置)登录后会被传送回最后下线的地方
  17. namestrictmode=true              //使用严格模式判断玩家名称,当此项为True,玩家只能使用含有A-Z 0-9和下划线的名字进入游戏.
  18. banname=*;        //玩家名黑名单,名称含有某关键字的玩家会被禁止进入,格式 banname=111;222;333;444;
  19. ipmaxreg=3         //每个IP的最大注册账号数
  20. regex=*              //使用自定义的正则表达式来匹配玩家名,不符合要求的玩家将被踢出
  21. playerloginedmessage=false //玩家登录成功后的公告 (变量:%Player%玩家名 & 颜色代码 #换行符)
  22. 一个例子:&A&L欢迎来到&C&LKspTooi&A&L服务器#&A&L请直接在聊天框输入Login登录#&A&L祝你游戏愉快

  23. playerjoinedmessage="&e%Player% Joined the game."玩家登录后显示的加入信息 (变量:%Player%玩家名 & 颜色代码 #换行符

复制代码





·下载:

!注意:此版本插件要求前置插件:GeneralDataCoreV4



0.37-A-RE [开发预览版] (支持Mysql数据库(详细请看更新日志)) 版本:1.6.x-1.12.x
https://pan.baidu.com/s/1MBWOXSlc7DoB4Ox3vVA80g
提取码:c2be

GeneralDataCoreV4插件下载地址:
https://pan.baidu.com/s/1EuP4UbSOLnkZgHilBSStnA




·以往版本Logo:






·错误反馈:
发送邮件到我们的邮箱, a@KspTooi.com
必须包含以下内容:
联系方式(QQ)
详细的错误描述
完整的服务器日志.
相关截图(可选)



!不要在本帖提交任何插件相关问题/错误,我们可能不会第一时间看到你的回复!!




!本插件及其附属插件禁止转载,禁止逆向工程,禁止二次打包发布! 并且不开源!

最后 求加分!!!







分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    慵懒
    2020-1-5 08:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-1-9 15:49:32 | 显示全部楼层
    很好的插件
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    发表于 2022-5-19 23:35:16 | 显示全部楼层
    这些代码放在哪里可以修改呢?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则