ScoreManager-Magic | |
---|---|
ScoreManager-Magic的登陆界面 | |
基本信息 | |
作者 |
后期主程:yyc12345 前置工程主程:jxpxxzj 前置工程相关:2jjy,BallanceLover |
适用于 | Ballance |
依赖 | 详见程序依赖章节 |
发布时间 |
第一版:2020年1月1日 第二版未完成 |
项目地址 | Github项目地址 |
开发状态 | 已停止开发 |
ScoreManager-Magic是由yyc12345按照个人意愿,为了服务其提出的Ballance竞速杯而专门制作的程序。体系上继承了ScoreManager,可以理解为将之前关闭的ScoreManager的主要功能再次复现的一个工程。
目录
起源
yyc12345原本希望直接从ScoreManager的服务端备份库中继承代码,但发现无权限访问[1],并且获知[2]和了解[3]到原版ScoreManager的服务端代码有很多漏洞,因而决定重写服务端。
程序客户端来源于对ScoreManager-Core的改造,程序服务端仿照之前的系统使用了PHP编写,之后整合了原本分离的直播专用客户端。
版本
第一版于2020年1月1日20点左右开始测试运行,其界面较为简陋(用Windows控件拼出来的),暂无法与当初的ScoreManager相比。据开发者所言,是工期较紧且为了把重心放在比赛功能的实现上做出的妥协[4]。但是核心部分将会完全基于原有的ScoreManager核心代码。
第二版依据日程安排,将会在2020年6月左右完工,届时将拥有与原版ScoreManager相近的客户端,以及高分榜支持,多语言支持,网页端支持,反作弊改进。目前第二版仅写出了一份粗略的设计稿。但目前由于各种原因,开发无限期延后。
2020年10月19日,作者yyc12345宣布不再开发此工程,GitHub上的项目更改为存档状态。但是此前一直在运行的第一版服务器仍然在运行。
组成
ScoreManager-Magic由四部分组成:
- ScoreManager-Magic:用于提供给参赛玩家的客户端,代码来源于ScoreManager-Core并加入了成绩上传机制和友好的用户界面。
- BTLD(Ballance Tournament Live Displayer):提供给直播员的专用于直播的客户端,可以进行图池展示,抽图之类的直播专用操作。
- Mahoushoujo:提供给竞速审核员,图池选择员,数据统计员和总管理的集中式比赛后台管理器,可以创建比赛,审核成绩,设定地图等。
- SMMLib:不作为程序存在,仅作为以上三个程序公用的动态链接库负责与SMM-Backend进行交互。
- SMM-Backend:ScoreManager-Magic的服务器后端,运作于服务器上并与上述三个客户端都有互动,是比赛信息的存储中心。
程序依赖
- ScoreManager-Magic需要.Net Framework 4.0作为运行库。
- BTLD和Mahoushoujo需要.Net Framwork 4.0作为运行库,同时BTLD需要搭配直播程序,例如OBS才能正常进行直播
- SMM-Backend需要PHP 7以上版本和一些相关插件(可以在Github上查看);需要MySql作为数据存储器;需要一个Web服务器(测试时使用的是Nginx)
兼容性
- ScoreManager-Magic兼容自Windows XP以来的所有Windows操作系统。由于和ScoreManager使用了相同的数据检测装置,因此在最小程度上不兼容任何需要修改Menulevel.NMO的插件;且由于程序内置的审核机制,无法在装有任何插件的Ballance上启动(Ballance中文版除外)
- BTLD和Mahoushoujo支持自Windows 7以来的所有Windows操作系统
- SMM-Backend在有相关依赖支持的情况下,可以运行在Windows和Linux上
注释
- ↑ 其实是私有仓库访问人数超过了托管网站的限制
- ↑ 获知是指:jxpxxzj曾言ScoreManager原版服务端可能存在SQL注入漏洞,希望yyc12345重写的时候务必使用PDO
- ↑ 了解是指:之前yyc12345在开发Ballance Tools yyc版时被BallanceLover告知虽然关卡排行榜查询要求传入用户名和密码参数,但是实际上乱传都可以获取。yyc12345感觉此设计不合理,希望创建一个健全的账号系统来防止一些查询被滥用。
- ↑ 其实是放了无数次鸽子的搞成这样的