[网页工具][PHP] BiliCraftSkin – 用DZ论坛搭建自己的我的世界皮肤站
BiliCraftSkin(以下简称bcskin)是一个基于HTML5及PHP的Minecraft皮肤管理、脱胎于Bilicraft的皮肤管理系统,现出于交流学习的考虑,决定开放其源代码。
此系统包含:
- 皮肤上传/管理模块;
- 皮肤分享/收藏模块;
- 皮肤评论模块;
- 皮肤预览模块;
当前版本的bcskin不包含用户系统,需要获取Discuz论坛系统的用户数据使用,也就是说,目前需要架设bcskin的网站必须拥有一个Discuz论坛。使用此系统还有一个前提,就是客户端经过MOD修改使皮肤下载路径指向目标站点。
安装说明:
- 把所有文件及目录放到站点的根目录下;
- 根目录下的index.php作用是重定向到/skin/index.php,可删除;
- “discuzApi.php”文件放置到Discuz论坛的根目录下;
- 设置“config.php”及“js/lib.js”里的必要项目;
- “MinecraftSkins”目录为游戏读取皮肤文件的目录,可根据实际情况更改名字,更改后请到“config.php”中作相应修改;
- “data”目录用于存放用户上传及分享的皮肤文件,请务必设置为可写,在Linux/Unix系统下可用“chmod-R777data”修改目录权限;
- 数据库信息及路径信息配置好后,在地址栏中输入//网站根目录地址/skin/install.php进行安装,安装完毕后,skin/install.php文件可删除;
安全说明:
- 因为需要获取discuz的登录信息,因此可能造成信息泄露;
- 因为discuzApi.php可能被钓鱼站点利用,因此请妥善设置站点的crossdomain;
- 请根据自身站点域名设置discuzApi.php的Access-Control-Allow-Origin;
- 条件允许的情况下请自行重写discuzApi.php;
- 允许作者以外的用户为分享的皮肤添加标签可能会被垃圾信息利用,此功能可在config.php中关闭;
- 评论系统可能会会被垃圾信息利用,此功能可在config.php中关闭;
- 收藏皮肤不会占用额外的空间,但本系统(暂时)没有限制用户上传皮肤的数量,虽然影响不大,但有可能被他人恶意利用;
第三方资源:
- 使用了jQuery;
- 使用了THREE.js;
- 使用了Smarty;
代码修改建议:
- 用户系统的修改,可修改class/User.class.php中的oAuth方法;
- 3D预览的修改,可修改js/bc.skin.3.js,皮肤预览的背景及地板可在引用预览的页面修改初始化语句,如“js/bc.skin.js”中的“$3.bgColor=0x000000;$3.flText={map:newTHREE.ImageUtils.loadTexture(‘../image/ground.jpg’)};”语句;
- 界面样式的修改,本系统界面模仿bilibili设计,如要修改可直接修改样式表及image目录下的图片资源;
配置说明:在config.php及js/lib.js中可完成大部分配置,配置项目均有详细注释,请在utf-8下编辑。
版权信息:请遵循GPL v2