Loading...

SakuraLogin 登录插件

    Sakura Login  更方便、更强大、更安全的登录插件

 

简介

这是一款支持外置登录的登录插件,后端使用 PHP 进行用户验证,可扩展性极强,支持与本人的 SoraChat 网页聊天插件对接数据库,实现一个账号登录服务器所有服务(论坛、博客、启动器等等,完全没有局限)
部署这个插件之前,请先具备一些常规的电脑操作知识(不要再跑来问我 FTP 怎么上传之类的问题了…)以及足够的耐心,教程看似复杂,实际上部署起来只要几分钟的时间~

在此非常感谢 andylizi dalao 提出的建议,经过考虑我认为这个传输过程中的加密毫无卵用,干脆就直接移除了,如果需要提升安全性,请使用 Nginx 为服务器做反向代理,并开启 SSL。

同时我将内置的简陋 Socket 换成了更好的 NicoHttp 核心,这是一个可以承受超大并发请求的 HTTP 服务器核心,已经在我的多款插件中应用,并且表现非常出色,目前 Sakura Frp 主站的反向代理也是用的 NicoHttp 核心魔改。

网站方面,已经将原本的 AES-128-ECB 替换为 AES-256-CFB,加密时使用的密钥就是用户密码的 md5,向量 IV 就是用户密码的两次 md5,这样可以达到很好的安全性。

功能

  • 支持开启/关闭游戏内注册
  • 支持开启/关闭外置登录
  • 可从数据库读取玩家状态,拒绝被封禁玩家登录
  • 密码采用 AES-256-CFB 加密方式储存,这也是业界公认最安全的加密方式之一
  • 支持服务端/网页端分离,数据库分离
  • 完全可修改的语言文件(这个貌似没什么用)
  • 外置登录协议可二次开发
  • 不需要输入命令,进游戏直接在聊天栏输入密码即可登录

安装

使用本插件非常简单,支持面板服(前提是服务商没有封掉所有未使用的端口),通常您只需要以下几个东西:

  • 一个 Minecraft 服务器
  • 一个虚拟主机或 VPS(可以和 Minecraft 服务器搭在同一台 VPS 上以达到最佳效果,验证速度更快)
  • 如果您想要启用外置登录,您可能需要自己开发启动器或者找人定制(233333)

以下就是部署步骤:

  • 点击下载 SakuraLogin-1.2.Release.jar
  • 将下载好的 SakuraLogin-1.2.Release.jar 放入服务器的 plugins 文件夹
  • 重启一次服务器,自动生成 SakuraLogin 文件夹,编辑里面的 config.yml
  • 根据配置文件内的提示修改对应配置,然后重启服务器
  • 点击下载 SakuraLoginBackEnd-1.2.Release.zip 并开始配置网页端,此处有两个分支:

使用 VPS 或者独立主机部署后端

  1. 如果是 Windows 的服务器,推荐使用 phpStudy 一键环境包
  2. 安装完 phpStudy 后,打开,单击“其它选项菜单” > “网站根目录”
  3. 解压 SakuraLoginBackEnd-1.2.Release.zip,复制 login 文件夹到网站根目录
  4. 编辑 login/index.php,修改数据库用户名、密码、数据库名等
  5. 保存,进入服务器试试吧

  1. 如果是 Linux 服务器,可以使用 OneinStack:
    wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 7 --phpmyadmin --db_option 5 --dbinstallmethod 1 --dbrootpwd 你的数据库密码 --reboot
  2. 根据提示安装完 phpStudy 后,输入 cd /phpstudy/www/ 定位到网站根目录
  3. 输入命令 wget https://panel.tcotp.cn/cdn/SakuraLogin/?s=SakuraLoginBackEnd 下载后端文件
  4. 输入命令 unzip SakuraLoginBackEnd-1.0.Release.zip 解压
  5. 输入命令 phpstudy start 启动网站服务(已经启动可以忽略)
  6. 输入命令 vi /phpstudy/www/login/index.php,按 a,然后修改数据库用户名,密码,数据库名
  7. 按下 Esc,然后输入 :wq 保存并退出

使用虚拟主机部署后端

  1. 打开 FTP 软件,推荐用 Windows 资源管理器自带的就行了,地址栏输入 ftp://服务器地址/ 回车
  2. 将 SakuraLoginBackEnd-1.0.Release.zip 解压
  3. 进入虚拟主机网站根目录,一般就是登陆上去以后的默认文件夹或者是 WWW、Web 文件夹
  4. 编辑 login/index.php,修改数据库用户名、密码、数据库名(一般虚拟主机后台都可以看到的)
  5. 将 login 文件夹上传到网站根目录(如果提示上传失败请仔细看步骤 5.2.3)
  6. 登录游戏看看效果吧

请注意:服务器插件配置文件里的 apiurl 就是你的 VPS 或者虚拟主机的网站地址,切记结尾一定要加 /
类似于这样:

MC 服务器登录插件配置文件中的 connectpass 必须要和网页后端的 token 设置一致,否则无法通讯(这是 API 的访问密码)。

外置登录

您需要自己会写启动器(拿现成源码改也是可以的!)
在启动游戏后,每 1 秒或 2 秒发送一次 HTTP 请求

http://你的服务器地址:外置登录端口/?user=用户名&pass=密码

注意这里的外置登录端口不是服务器的端口,而是 MC 服务器登录插件配置文件里的这一项:

举个例子,你的服务器IP是 123.123.123.123,设置的外置登录端口如上 6666,玩家名字 test 玩家密码 123456,那么您可以这样调用:

易语言可以这样:

  1. 首先,创建一个时钟控件
  2. 在游戏启动后执行:时钟1.时钟周期 = 1000
  3. 然后双击时钟控件,弹出时钟1_周期事件,
  4. 键入代码:
    返回内容 = 到文本(HTTP读文件 ("http://123.123.123.123:6666/?user=test&pass=123456"))
    如果真(返回内容 = "200 OK")
    结束()

其他语言也差不多。

如果你喜欢这个插件,欢迎给我赞助哟~

支付宝 jianghao7172@tcotp.cn

如果想要转载的话,请先通过回复告诉我哦~

※ \ 完结~撒花~ / ※

发表评论

》表情