mirror of
https://github.com/bs-community/blessing-skin-manual.git
synced 2024-11-21 00:40:49 +08:00
init
This commit is contained in:
commit
2ea40f5911
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules/
|
||||
man/.vuepress/dist
|
47
man/.vuepress/config.js
Normal file
47
man/.vuepress/config.js
Normal file
@ -0,0 +1,47 @@
|
||||
module.exports = {
|
||||
title: 'Blessing Skin 用户手册',
|
||||
shouldPrefetch: () => false,
|
||||
evergreen: true,
|
||||
locales: {
|
||||
'/': {
|
||||
lang: 'zh-CN',
|
||||
title: 'Blessing Skin 用户手册',
|
||||
},
|
||||
'/en/': {
|
||||
lang: 'en-US',
|
||||
title: 'Blessing Skin Manual',
|
||||
},
|
||||
},
|
||||
themeConfig: {
|
||||
locales: {
|
||||
'/': {
|
||||
selectText: '选择语言',
|
||||
label: '简体中文',
|
||||
editLinkText: '在 GitHub 上编辑此页',
|
||||
sidebar: [
|
||||
'/setup',
|
||||
'/faq',
|
||||
'/report',
|
||||
'/mod',
|
||||
'/env',
|
||||
'/versions',
|
||||
'/v3-to-v4',
|
||||
'/update-sources',
|
||||
'/cdn',
|
||||
'/css-js',
|
||||
'/i18n',
|
||||
'/v3-changelog',
|
||||
]
|
||||
},
|
||||
'/en/': {
|
||||
selectText: 'Languages',
|
||||
label: 'English',
|
||||
editLinkText: 'Edit this page on GitHub',
|
||||
sidebar: [
|
||||
'/en/mod',
|
||||
'/en/v3-to-v4',
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
24
man/cdn.md
Normal file
24
man/cdn.md
Normal file
@ -0,0 +1,24 @@
|
||||
# 皮肤站 CDN 配置
|
||||
|
||||
在「资源配置」页面使用「前端资源文件 CDN」,并使用自建或他人搭建好的 CDN 服务,皮肤站所有的静态文件(CSS/JS)都会从 CDN 请求,可减轻源站的负担。
|
||||
|
||||
### 如何自建皮肤站 CDN?
|
||||
|
||||
将皮肤站(必须是编译后的,直接从 GitHub 上下的源码不行) `/public` 目录下的文件全部复制到你的 CDN 服务器的某个你喜欢的地方,并保证它们能被外界访问到。
|
||||
|
||||
按照你的具体情况,填写「前端资源文件 CDN」。如果你把资源文件放在 CDN 服务器上的某个子目录中的话,「CDN 地址」里也要带上那个子目录。
|
||||
|
||||
不知道怎么填写才对?访问 `{你应该填写的地址}/app/manifest.json`,如果正常显示,那就可以了。
|
||||
|
||||
### 目前可用的公共 CDN
|
||||
|
||||
由第三方维护,选择其中一个地址填入「静态文件 CDN」插件配置页面中即可。
|
||||
|
||||
> 注意,我们无法 100% 保证第三方 CDN 的安全。请谨慎使用,防止恶意代码的注入。
|
||||
|
||||
|名称|地址|
|
||||
|-|-|
|
||||
|hempflower|https://bs-mirror.i-creator.cn/v4/|
|
||||
|
||||
欢迎提交新的公共 CDN 源。
|
||||
|
105
man/css-js.md
Normal file
105
man/css-js.md
Normal file
@ -0,0 +1,105 @@
|
||||
# 自定义 CSS、JavaScript
|
||||
|
||||
Blessing Skin 后台的「个性化」配置页面提供了「自定义 CSS JavaScript」功能,可以将自定义代码插入每一个页面中,可以方便快捷地修改皮肤站的默认样式、实现某些特殊的功能等等。
|
||||
|
||||
这个功能比较简单,原理就是直接将自定义的 CSS、JavaScript 代码插入到每个页面中的 `<style>` 与 `<script>` 标签中。想要实现更加复杂的功能的话,你可以为 Blessing Skin 写一个插件。
|
||||
|
||||
## 自定义登录/注册页背景图片
|
||||
|
||||
CSS(自行按需修改):
|
||||
|
||||
```css
|
||||
/* 修改成自己的图片地址 */
|
||||
.login-page {
|
||||
background-image: url("http://i2.muimg.com/1949/e560362e63a9080e.png");
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center 0;
|
||||
}
|
||||
```
|
||||
|
||||
## 自定义首页顶栏文字颜色
|
||||
|
||||
配合上一条使用,使用深色背景图片时会用到。
|
||||
|
||||
```css
|
||||
.transparent .container .navbar-header a,
|
||||
.transparent .container .navbar-collapse a,
|
||||
.transparent .container a.dropdown-toggle,
|
||||
.transparent .container span {
|
||||
/* 自行修改这里的颜色 */
|
||||
color: #f1f1f1 !important;
|
||||
}
|
||||
```
|
||||
|
||||
## 为 3D 皮肤预览中的模型添加阴影
|
||||
|
||||
CSS(其中参数自行调整,详见 [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/drop-shadow)):
|
||||
|
||||
```css
|
||||
.previewer-3d canvas {
|
||||
filter: drop-shadow(-5px 5px 10px rgba(0, 0, 0, 0.3));
|
||||
}
|
||||
```
|
||||
|
||||
![Snipaste_2018-02-24_16-15-45.png](https://i.loli.net/2018/02/24/5a911f3c7f130.png)
|
||||
|
||||
## 自定义关闭注册后首页的按钮文字
|
||||
|
||||
JavaScript:
|
||||
|
||||
```js
|
||||
// 自定义注册按钮文字
|
||||
$('#btn-close-register').text('好看吗').prop('href', 'http://baidu.com');
|
||||
```
|
||||
|
||||
CSS:
|
||||
|
||||
```css
|
||||
/* 自定义按钮颜色的 CSS */
|
||||
#btn-close-register {
|
||||
background-color: #0089ff;
|
||||
color: #ff1c00;
|
||||
}
|
||||
```
|
||||
|
||||
## 添加首页导航链接
|
||||
|
||||
如果需要添加多个链接,请按照实际情况修改 `links` 数组。
|
||||
|
||||
JavaScript:
|
||||
|
||||
```js
|
||||
(function($) {
|
||||
// 需要添加的链接
|
||||
var links = [
|
||||
'<li><a href="http://baidu.com">这是第一个链接</a></li>',
|
||||
'<li><a href="https://prinzeugen.net">这是第二个链接</a></li>'
|
||||
];
|
||||
|
||||
// 0 为从「首页」开始添加,1 为从「皮肤库」开始,以此类推
|
||||
var offset = 1;
|
||||
|
||||
var dom = $($($('ul.nav.navbar-nav')[0]).children()[offset]);
|
||||
|
||||
links.forEach(function(link) {
|
||||
dom.after(link);
|
||||
});
|
||||
})(jQuery);
|
||||
```
|
||||
|
||||
## 添加自定义 JavaScript 脚本引用
|
||||
|
||||
默认后台「自定义 JavaScript」里填写的是 `<script>` 标签里面的内容,所以你无法直接在其中直接使用 `<script src="">` 引用外部 JavaScript 脚本。但是,你可以使用某些神秘的技巧来达成这一目的(其实就是 XSS 攻击的原理啦)。
|
||||
|
||||
```html
|
||||
</script><!-- 在这里关闭原来的 script 标签 -->
|
||||
|
||||
<!-- 添加你自己想要的脚本引用(不如说任意 HTML 标签都 OK) -->
|
||||
<script type="text/javascript" src="test.wtf.js"></script>
|
||||
|
||||
<!-- 打开新的 script 标签 -->
|
||||
<script type="text/javascript">
|
||||
```
|
||||
|
||||
添加自定义 CSS 样式引用也是一样的道理,这里就不多赘述。使用这种方法也可以添加其他任意 HTML 标签。需要注意的是,这个技巧的原理其实就是 XSS 攻击,如果被恶意利用,可能对你的用户造成某些不可逆的损失。所以不要在这里随便填其他人给的代码哦(笑)
|
132
man/en/mod.md
Normal file
132
man/en/mod.md
Normal file
@ -0,0 +1,132 @@
|
||||
# Mod Configuration
|
||||
|
||||
We recommend you to open "Plugins Marketplace" and install "Config Generator" plugin, and this plugin will provide a friendly UI to help you generate JSON configuration.
|
||||
|
||||
Blessing Skin Server only implements the API which is defined by skin mod and provides friendly web pages to manage skins in an easier way.
|
||||
|
||||
To show your skins in game, you have to configure your skin mod correctly as uploading your skins to skin server.
|
||||
|
||||
There the mod we supported are: [CustomSkinLoader](http://www.mcbbs.net/thread-269807-1-1.html) and Universal Skin Mod.
|
||||
|
||||
## For CustomSkinLoader 13.1 and higher (recommended)
|
||||
|
||||
The configuration is located in `.minecraft/CustomSkinLoader/CustomSkinLoader.json`, and it is just like this:
|
||||
|
||||
```json
|
||||
{
|
||||
"enable": true,
|
||||
"loadlist": [
|
||||
{
|
||||
"name": "Mojang",
|
||||
"type": "MojangAPI"
|
||||
},
|
||||
{
|
||||
"name": "SkinMe",
|
||||
"type": "UniSkinAPI",
|
||||
"root": "http://www.skinme.cc/uniskin/"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
The important thing you need to do is to add the root url of your skin server to the `loadlist` dict:
|
||||
|
||||
```json
|
||||
{
|
||||
"enable": true,
|
||||
"loadlist": [
|
||||
{
|
||||
"name": "YourSkinServer",
|
||||
"type": "CustomSkinAPI",
|
||||
"root": "http://example.com/"
|
||||
},
|
||||
{
|
||||
"name": "Mojang",
|
||||
"type": "MojangAPI"
|
||||
},
|
||||
{
|
||||
"name": "SkinMe",
|
||||
"type": "UniSkinAPI",
|
||||
"root": "http://www.skinme.cc/uniskin/"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
The field `type` should be same with your API that configurated in the options of skin srever.
|
||||
|
||||
## For CustomSkinLoader 12.9 and lower
|
||||
|
||||
Add your urls to the configuration file located in `.minecraft/CustomSkinLoader/skinurls.txt`:
|
||||
|
||||
```
|
||||
# Notice: You should put your url on the top to make it be loaded first
|
||||
http://example.com/skin/*.png
|
||||
http://skins.minecraft.net/MinecraftSkins/*.png
|
||||
http://minecrack.fr.nf/mc/skinsminecrackd/*.png
|
||||
http://www.skinme.cc/MinecraftSkins/*.png
|
||||
```
|
||||
|
||||
Also add it in `.minecraft/CustomSkinLoader/capeurls.txt`:
|
||||
|
||||
```
|
||||
http://example.com/cape/*.png
|
||||
```
|
||||
|
||||
## UniSkinMod 1.4 and higher (recommended)
|
||||
|
||||
The configuration file is located in `.minecraft/config/UniSkinMod/UniSkinMod.json`.
|
||||
|
||||
You should modify it from:
|
||||
|
||||
```json
|
||||
{
|
||||
"rootURIs": [
|
||||
"http://www.skinme.cc/uniskin",
|
||||
"https://skin.prinzeugen.net"
|
||||
],
|
||||
"legacySkinURIs": [],
|
||||
"legacyCapeURIs": []
|
||||
}
|
||||
```
|
||||
|
||||
to this:
|
||||
|
||||
```json
|
||||
{
|
||||
"rootURIs": [
|
||||
"http://www.skinme.cc/uniskin",
|
||||
"https://skin.prinzeugen.net",
|
||||
"http://example.com"
|
||||
],
|
||||
"legacySkinURIs": [],
|
||||
"legacyCapeURIs": []
|
||||
}
|
||||
```
|
||||
|
||||
which means adding your url of skin server to the dict `rootURIs`.
|
||||
|
||||
There is a documentation for USM 1.4+, check it [here](https://github.com/RecursiveG/UniSkinMod/blob/1.9/README.md).
|
||||
|
||||
## UniSkinMod 1.2 & 1.3
|
||||
|
||||
Put your root urls to `.minecraft/config/UniSkinMod.cfg`:
|
||||
|
||||
```
|
||||
# SkinMe Default
|
||||
Root: http://www.skinme.cc/uniskin
|
||||
# Your Server
|
||||
Root: http://example.com
|
||||
```
|
||||
|
||||
## UniSkinMod 1.2 and lower
|
||||
|
||||
The configuration file is also located in `.minecraft/config/UniSkinMod.cfg`, but you should add the legacy links in instead of root urls:
|
||||
|
||||
```
|
||||
Skin: http://skins.minecraft.net/MinecraftSkins/%s.png
|
||||
Cape: http://skins.minecraft.net/MinecraftCloaks/%s.png
|
||||
# Your Server
|
||||
Skin: http://example.com/skin/%s.png
|
||||
Cape: http://example.com/cape/%s.png
|
||||
```
|
3
man/en/readme.md
Normal file
3
man/en/readme.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Blessing Skin Manual
|
||||
|
||||
Welcome to using Blessing Skin!
|
99
man/en/v3-to-v4.md
Normal file
99
man/en/v3-to-v4.md
Normal file
@ -0,0 +1,99 @@
|
||||
# Migrate from v3 to v4
|
||||
|
||||
**Please follow us step by step!**
|
||||
|
||||
## 1. Modify the root directory of your web server.
|
||||
|
||||
Change the root directory location to the `public` directory under the original location.
|
||||
|
||||
Don't forget to restart your web service to take new effect after updated the configuration.
|
||||
|
||||
### For Apache
|
||||
|
||||
Open your `httpd.conf` file and find `DocumentRoot` and `Directory` item. Suppose your original configuration is like this (other parts of the configuration are omitted):
|
||||
|
||||
```config
|
||||
DocumentRoot "E:/Apps/xampp/htdocs"
|
||||
<Directory "E:/Apps/xampp/htdocs">
|
||||
```
|
||||
|
||||
Update it as:
|
||||
|
||||
```config
|
||||
DocumentRoot "E:/Apps/xampp/htdocs/public"
|
||||
<Directory "E:/Apps/xampp/htdocs/public">
|
||||
```
|
||||
|
||||
### For Nginx
|
||||
|
||||
Open `nginx.conf` and modify the `root` configuration item of the `server` block. Suppose your original configuration is like this (other parts of the configuration are omitted):
|
||||
|
||||
```config
|
||||
server {
|
||||
root /var/www;
|
||||
}
|
||||
```
|
||||
|
||||
Update it as:
|
||||
|
||||
```config
|
||||
server {
|
||||
root /var/www/public;
|
||||
}
|
||||
```
|
||||
|
||||
### For IIS
|
||||
|
||||
You can search some documentations about IIS.
|
||||
|
||||
## 2. Backup your database and the `.env` file. It's recommended to backup the directory of textures storage, as well. (Default is located at `storage/textures`)
|
||||
|
||||
DON'T BE TOO LAZY TO DO IT.
|
||||
|
||||
## 3. Remove directories and files listed below.
|
||||
|
||||
- `.htaccess` (File)
|
||||
- `app` (Directory)
|
||||
- `artisan` (File)
|
||||
- `bootstrap` (Directory)
|
||||
- `config` (Directory)
|
||||
- `database` (Directory) (If you're using SQLite and the database file is stored here, **backup it**.)
|
||||
- `index.php` (File)
|
||||
- `plugins` (Directory) (You may remember which plugins you've installed and install them again through the marketplace after you upgraded successfully.)
|
||||
- `resources` (Directory) (You may backup them if you have overrided and customized views and/or languange files.)
|
||||
- `routes` (Directory)
|
||||
- `storage/patches` (Directory)
|
||||
- `vendor` (Directory)
|
||||
- `web.config` (File)
|
||||
|
||||
## 4. Download the latest Blessing Skin Server and extract it to original directory.
|
||||
|
||||
Please note that it is the original website directory, not `public` directory.
|
||||
|
||||
## 5. Open terminal or PowerShell and run commands below.
|
||||
|
||||
```sh
|
||||
php artisan cache:clear
|
||||
php artisan view:clear
|
||||
php artisan migrate --force
|
||||
php artisan bs:migrate-v4:players-table
|
||||
php artisan bs:migrate-v4:closet
|
||||
```
|
||||
|
||||
If you're upgrading from 3.5.0 to 4.4.0 directly, you should run the commands below additionally:
|
||||
|
||||
```sh
|
||||
php artisan jwt:secret
|
||||
php artisan passport:keys
|
||||
php artisan bs:migrate-v4:likes
|
||||
```
|
||||
|
||||
It will take several minutes to finish. (Depends on the scale of your website.)
|
||||
|
||||
## 6. Open browser and visit your website.
|
||||
|
||||
You'll be asked to update and you just need to click "Next".
|
||||
|
||||
## 7. Complete!
|
||||
|
||||
Old authentication state will be invalidated. Just need to login again.
|
161
man/env.md
Normal file
161
man/env.md
Normal file
@ -0,0 +1,161 @@
|
||||
# 配置文件介绍
|
||||
|
||||
## 什么是 `.env`?
|
||||
|
||||
如果您在使用 4.0.0 或以上版本,您在大多数情况下不需要手动配置 `.env` 文件——在安装的时候,我们会在浏览器中要求您填写数据库连接信息。
|
||||
|
||||
`.env` 是一个文件,其中保存了 Blessing Skin 最基础的配置信息(数据库信息、密码安全、邮件发送配置等)。
|
||||
|
||||
## 如何创建 `.env` 文件?
|
||||
|
||||
安装包中默认包含了一个 `.env.example` 配置模板文件,直接把它重命名为 `.env` 即可。
|
||||
|
||||
> 如果看不到 `.env.example` 这个文件,请打开你文件浏览器的「显示隐藏文件(以 `.` 开头的文件)」的选项。
|
||||
|
||||
重命名之前你也可以创建一个副本作为备份。
|
||||
|
||||
--------------
|
||||
|
||||
**对于 Windows 用户**,请遵循如下步骤:
|
||||
|
||||
1. 右键 `.env.example` 文件并点击「重命名」;
|
||||
2. 在输入框中将该文件重命名为 `.env.`(**注意**,最后有一个点符号 `.`);
|
||||
3. 按下回车确认,文件名最后的 `.` 将会自动消失;
|
||||
4. 你已完成重命名操作(是的,Windows 就是这么神秘)。
|
||||
|
||||
--------------
|
||||
|
||||
Linux / macOS 用户直接 `cp .env.example .env` 就好了。
|
||||
|
||||
## 配置文件字段详解
|
||||
|
||||
为了支持国际化,我把 `.env` 的注释换成通用的英文了,但是似乎很多用户都云里雾里的,所以下面介绍一下各个字段的含义。
|
||||
|
||||
### 调试开关
|
||||
|
||||
#### `APP_DEBUG`
|
||||
|
||||
请务必在生产环境(线上环境)下关闭 `APP_DEBUG`(即设置为 `false`),不然你的数据库信息可能被泄露。
|
||||
相反,如果遇到什么错误要报告的话请开启这个选项以获得报错的详细堆栈信息。
|
||||
|
||||
#### `APP_ENV`
|
||||
|
||||
生产环境下,请将 `APP_ENV` 设置为 `production`。仅在开发 Blessing Skin 时(如,您正在为 Blessing Skin 做贡献),才可将该配置项设为 `development`。(当 `APP_ENV` 为 `development` 时,所有前端资源均从 `webpack-dev-server` 中加载)
|
||||
|
||||
### 数据库相关
|
||||
|
||||
1. `DB_CONNECTION` 数据库的连接类型,目前支持 `mysql`、`sqlite`、`pgsql`,即分别为 MySQL、SQLite 和 PostgreSQL。
|
||||
2. `DB_HOST` 数据库主机,一般为 `localhost`
|
||||
3. `DB_PORT` 数据库端口
|
||||
4. `DB_DATABASE` 数据库名,自行修改
|
||||
5. `DB_USERNAME` 数据库用户名
|
||||
6. `DB_PASSWORD` 数据库用户密码
|
||||
7. `DB_PREFIX` 数据表前缀,当你有在一个数据库中安装多个皮肤站的需求时,请为每个皮肤站设置不同的数据表前缀
|
||||
|
||||
### 安全相关
|
||||
|
||||
1. `PWD_METHOD` 用户密码加密方式,可选的值有:
|
||||
- `PHP_PASSWORD_HASH`(默认的,也是安全性最高的)
|
||||
- `MD5`
|
||||
- `SALTED2MD5`(加盐与不加的区别,下同)
|
||||
- `SHA256`
|
||||
- `SALTED2SHA256`
|
||||
- `SHA512`
|
||||
- `SALTED2SHA512`
|
||||
2. `SALT` 盐用于 Token 和密码加密
|
||||
3. `APP_KEY` 用于框架内各种东西的加密,格式为 `"base64:".base64_encode(random_bytes(32))`
|
||||
|
||||
**请注意,皮肤站安装好后请勿随意更改这些安全设置,否则会导致原有的用户无法登录。**
|
||||
|
||||
`SALT` 和 `APP_KEY` 都可以选择在安装时自动随机生成,您也可以选择在命令行中重新生成:
|
||||
|
||||
```
|
||||
# 重新生成盐
|
||||
php artisan salt:random
|
||||
|
||||
# 重新生成 APP_KEY
|
||||
php artisan key:generate
|
||||
```
|
||||
|
||||
### 邮件相关
|
||||
|
||||
邮件配置主要用用户邮箱验证与发送密码重置邮件。
|
||||
|
||||
如果你使用 SMTP,请添加以下字段(内容自行修改):
|
||||
|
||||
```
|
||||
MAIL_DRIVER = smtp
|
||||
# 邮件主机地址
|
||||
MAIL_HOST = smtp.example.com
|
||||
# 邮件主机端口
|
||||
MAIL_PORT = 465
|
||||
# 邮件发送人(填完整邮箱地址)
|
||||
MAIL_USERNAME = test@example.com
|
||||
# 密码
|
||||
MAIL_PASSWORD = secret
|
||||
# 加密方式,一般为 tls 或者 ssl
|
||||
MAIL_ENCRYPTION = tls
|
||||
```
|
||||
|
||||
**如果你使用 Mailgun,请添加以下字段:**
|
||||
|
||||
```
|
||||
MAIL_DRIVER = mailgun
|
||||
MAIL_USERNAME = test@example.com
|
||||
MAILGUN_DOMAIN = example.com
|
||||
MAILGUN_SECRET = api-key
|
||||
```
|
||||
|
||||
**如果你使用 sendmail,请添加以下字段:**
|
||||
|
||||
```
|
||||
MAIL_DRIVER = sendmail
|
||||
SENDMAIL_COMMAND = '/usr/sbin/sendmail -bs' #注意用引号包起来
|
||||
```
|
||||
|
||||
将 `MAIL_DRIVER` 设置为 `null` 即可停用所有邮件相关的功能。
|
||||
|
||||
### 驱动相关
|
||||
|
||||
#### `CACHE_DRIVER`
|
||||
|
||||
此项配置与缓存有关,默认为 `file`。可使用 `file`、 `memcached`、 `redis` 其中的一项。如果您打算使用 Redis,可直接在管理面板中「资源配置」页面直接启用 Redis 而无需手动修改此项配置。
|
||||
|
||||
#### `SESSION_DRIVER`
|
||||
|
||||
此项配置与 Web 中的 Session(会话)有关,默认为 `file`。可使用 `file`、 `memcached`、 `cookie`、`redis` 其中的一项。。如果您打算使用 Redis,可直接在管理面板中「资源配置」页面直接启用 Redis 而无需手动修改此项配置。
|
||||
|
||||
#### `QUEUE_DRIVER`
|
||||
|
||||
默认情况下,Blessing Skin 将以同步的方式发送通知。如果您的站点有较多的用户,当向全部用户发送通知时,站点将会变慢甚至请求超时。为此,您需要在此配置队列以提高性能。
|
||||
|
||||
这个配置项默认为 `sync`,即不使用任何队列。您可以根据需要将此配置项设为 `database`,此时队列信息将存储在数据库中;如果您有 Redis,推荐将此项设为 `redis`。
|
||||
|
||||
除了 `sync` 以外,不管使用哪种其它的队列,您都需要单独执行一个进程以保证队列正常运行。方法是:执行 `php artisan queue:work`,请保持这个命令的运行,不要退出。
|
||||
|
||||
### Redis 相关
|
||||
|
||||
如果条件允许,请为您的站点使用 Redis。Redis 作为内存数据库,能在一定程度上提升站点的性能。
|
||||
|
||||
当您配置好下面提到的 Redis 配置项后,请只需要打开管理面板中「资源配置」页面并勾选「启用 Redis」,剩下的工作将由 Blessing Skin 自动完成。
|
||||
|
||||
1. `REDIS_HOST` Redis 数据库的主机地址,通常为 127.0.0.1,请根据您的实际情况进行修改。
|
||||
2. `REDIS_PASSWORD` Redis 数据库密码。默认为 `null`,如果您有为 Redis 设置密码,请相应地修改此项。
|
||||
3. `REDIS_PORT` Redis 数据库端口,默认为 6379。
|
||||
|
||||
如果您使用 unix socket 与 Redis 连接,那么还要这样修改:
|
||||
|
||||
1. `REDIS_SCHEME` 修改为 `unix`,如果 `.env` 文件中没有这一项,请手动加上去。
|
||||
2. `REDIS_SOCKET_PATH` 要填写为 unix socket 路径。如果 `.env` 文件中没有这一项,请手动加上去。
|
||||
|
||||
### 插件相关
|
||||
|
||||
通常您不需要修改这部分配置。
|
||||
|
||||
`PLUGINS_DIR` 此配置项会影响插件的存放位置,Blessing Skin 中的插件市场会把插件安装在此处,并从这个目录中读取并加载插件。请确保这个目录有可读写权限。保留 `null` 以使用默认值。
|
||||
|
||||
`PLUGINS_URL` 此配置项会影响插件中的前端资源文件 URL。建议保留 `null` 以使用默认值。
|
||||
|
||||
### 其它
|
||||
|
||||
`UPDATE_SOURCE` 修改此项配置可更改 Blessing Skin 的更新源。(即,告诉 Blessing Skin 将从哪里获取新版本信息)如果您觉得默认的更新源速度慢,可更换为第三方源。(可用的第三方更新源见 [此处](/update-sources.md))
|
219
man/faq.md
Normal file
219
man/faq.md
Normal file
@ -0,0 +1,219 @@
|
||||
# 常见问题
|
||||
|
||||
提问之前请先看看你的问题是否在以下列表中:
|
||||
|
||||
> 提示:善用浏览器的 Ctrl + F 页内查找功能。
|
||||
|
||||
[[toc]]
|
||||
|
||||
## 配置文件 `.env` 在哪?
|
||||
|
||||
请仔细阅读 [配置文件介绍](/env.md)
|
||||
|
||||
## 目录下没有 `setup` 这个文件夹啊,怎么访问?
|
||||
|
||||
Blessing Skin 使用了 URL 重写来实现路由功能(即俗称的伪静态),具体请自行搜索。
|
||||
|
||||
一般来说,只要你按照 [安装指南](/setup.md#配置-url-重写规则(伪静态)) 正确配置了 URL 重写之后,你就能正常安装和使用 Blessing Skin。
|
||||
|
||||
## 提示「根目录下没有 `vendor` 文件夹」?
|
||||
|
||||
嗯,有两种解决方法:
|
||||
|
||||
1. 给我认认真真地再看一遍 [安装指南](/setup.md)
|
||||
2. 自己使用 Composer 安装依赖库
|
||||
|
||||
## 500 Internal Server Error
|
||||
|
||||
**如果服务器报错 500,且页面上没有任何 Blessing Skin 字样:**
|
||||
|
||||
请查看 `/storage/logs` 目录下是否有日志文件,如果没有,说明是你文件权限设置错误。
|
||||
|
||||
> 解决方法:
|
||||
>
|
||||
> 请在皮肤站根目录下运行 `chown -R www ./`。(`www` 换成你的服务器上相应的用户,如 `apache` 等)
|
||||
|
||||
如果有,就不会只显示 500 错误了,除非你自行修改了文件。
|
||||
|
||||
## 404 Not Found
|
||||
|
||||
如果你可以访问首页,其他页面都是 404,请检查你的 URL 重写(伪静态)规则 **是否生效**。
|
||||
|
||||
如果所有页面(包括 `/index.php`)都是 404,请检查你自己的 Web 服务器配置。
|
||||
|
||||
## Deprecated $HTTP_RAW_POST_DATA
|
||||
|
||||
如果你的站点出现了如下错误(一般只会发生在你点了某个按钮之后):
|
||||
|
||||
```text
|
||||
Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0
|
||||
```
|
||||
|
||||
![error screenshot](https://i.loli.net/2018/02/10/5a7eb109a7b43.png)
|
||||
|
||||
**这是你 PHP 设置出了问题,需要修改 `php.ini` 文件。** 如果你是虚拟主机,那么抱歉爱莫能助出门左拐请。
|
||||
|
||||
基本上你把这个报错拿去翻译一下,就可以很清晰地知道如何操作了。我这里再复述一遍:
|
||||
|
||||
1. 打开 `php.ini` 文件……你问我这个文件在哪?随便去哪里下载个 PHP 探针(搜索引擎是你的好朋友),打开 `phpinfo()` 就可以看到你目前的 `php.ini` 配置文件所在目录了;
|
||||
2. 搜索 `always_populate_raw_post_data` 字样;
|
||||
3. 找到了吗?把 `=` 等于符号右边的数字设置为 `-1`(如果已经是 `-1` 了,请把行首的分号 `;` 删掉);
|
||||
4. 如果你用的是 Nginx,请重启 php-fpm,Apache 用户一般不用做什么;
|
||||
5. 只要命运的齿轮没有出差错,你不会再看到类似的报错了。
|
||||
|
||||
## Maximum function nesting level of '100' reached
|
||||
|
||||
如果出现了类似这样的错误信息:
|
||||
|
||||
```text
|
||||
PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /opt/app-root/src/vendor/composer/ClassLoader.php on line 344, referer: http://domain.com/setup/info
|
||||
```
|
||||
|
||||
请修改 PHP 配置,关闭 XDebug 或修改其设置(具体操作请自行搜索)。
|
||||
|
||||
## getdate(): It is not safe to rely on the system's timezone settings
|
||||
|
||||
如果出现了类似这样的错误信息:
|
||||
|
||||
```text
|
||||
Warning: getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
|
||||
```
|
||||
|
||||
请打开你的 `php.ini` 文件(不知道在哪的话请看上上条),找到 `date.timezone` 项的值并设置为 `Asia/Shanghai`。
|
||||
|
||||
如果 `date.timezone` 这一项的最前面有一个半角分号 `;` 的话,请务必去掉。
|
||||
|
||||
## 只有图片无法显示,其他都正常
|
||||
|
||||
请参考:[printempw/blessing-skin-server#46 - 图片无法显示](https://github.com/printempw/blessing-skin-server/issues/46)
|
||||
|
||||
## 如何对接 AuthMe / CrazyLogin / Discuz?
|
||||
|
||||
AuthMe / Discuz:请在插件市场中下载数据对接插件。
|
||||
|
||||
CrazyLogin:自 Blessing Skin Server v4 起,CrazyLogin 数据对接不受 Blessing Skin Community 支持。如果你想对接 CrazyLogin,请自行编写插件,或者使用 v3 及以下版本的 Blessing Skin Server。
|
||||
|
||||
## 上传的皮肤跑哪里去了?
|
||||
|
||||
皮肤文件都被重命名为文件的 SHA256 Hash 并保存至 `/storage/textures` 文件夹下。你可以直接使用图片查看软件打开它们。
|
||||
|
||||
## 我要怎么直接访问皮肤文件?
|
||||
|
||||
皮肤站提供了各种 API 让你能够获取指定的皮肤文件。当然如果你只是想要在游戏内显示皮肤的话,直接给 Mod 提供一个 JSON Profile 的地址即可,其他操作 Mod 会替你自动完成:[配置皮肤 Mod](/mod.md)
|
||||
|
||||
```
|
||||
# 获取指定角色的皮肤/披风
|
||||
example.com/{skin|cape}/{username}.png
|
||||
# 获取指定角色的头像
|
||||
example.com/avatar/{size}/{username}.png
|
||||
# 通过材质 ID 获取皮肤
|
||||
example.com/raw/{tid}.png
|
||||
# 通过材质 Hash 获取皮肤
|
||||
example.com/textures/{hash}
|
||||
```
|
||||
|
||||
## 游戏中不显示皮肤?
|
||||
|
||||
> **注意**,这里只讨论使用 _皮肤 Mod_ 时的问题。使用自定义 Yggdrasil API 外置登录系统出现的皮肤不加载问题不在本文的讨论范围之内。
|
||||
|
||||
### 检查皮肤站是否配置正确
|
||||
|
||||
怎么检查?访问 `http://你的皮肤站地址/你的游戏角色名.json`(此处以 CSL API 为例,USM 也差不多),如果一切正常,你会得到类似这样的内容(如果出错了,出门右转 FAQ):
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "621sama",
|
||||
"skins": {
|
||||
"default": "834cbd848f0a29008bf5b1d59d02ecb1cf25dfd21fc88be1c183c9261f5fdd69",
|
||||
"slim": "3d82f454ceeb30f2546283e08ab060a45d450dc6042c9077f638f10ca51205d4"
|
||||
},
|
||||
"cape": "2911438e8282d40e6d64fbefd076eef0a901cb90d3deae4057fec60c66eb93d2"
|
||||
}
|
||||
```
|
||||
|
||||
然后把那一串字符复制出来,访问 `http://你的皮肤站地址/textures/那一串字符`,如果一切正常,你会看到你的皮肤图片:
|
||||
|
||||
![screenshot](https://i.loli.net/2018/02/09/5a7d81e639473.png)
|
||||
|
||||
确保这一步一切正常后,你可以继续往下排查了。
|
||||
|
||||
### 检查皮肤 Mod 是否正确加载
|
||||
|
||||
去看看你游戏主菜单中 Forge Mod List 里有没有正确加载皮肤 Mod(CustomSkinLoader、UniSkinMod 之类)。
|
||||
|
||||
### 检查皮肤 Mod 是否配置正确
|
||||
|
||||
请参阅 [配置皮肤 Mod](/mod.md),再检查一遍你有没有配置出错的地方。
|
||||
|
||||
### 查看皮肤 Mod 的日志
|
||||
|
||||
日志是开发者的好朋友,有了它可以快速定位问题原因。
|
||||
|
||||
- CSL 的日志位于 `.minecraft/CustomSkinLoader/CustomSkinLoader.log`
|
||||
- USM 的日志直接输出至游戏日志中
|
||||
|
||||
在日志里看看有没有什么 `ERROR` 打头的记录,把错误信息拿去翻译一下基本上就能知道原因了。
|
||||
|
||||
## 如何上传 鞘翅/翅膀/Elytra 的材质?
|
||||
|
||||
鞘翅的材质是画在披风上的,自己设置一个带鞘翅材质的披风就可以了。
|
||||
|
||||
![Snipaste_2018-02-22_11-27-15.png](https://i.loli.net/2018/02/22/5a8e38fe9adfa.png)
|
||||
|
||||
具体请参考 Minecraft Wiki:
|
||||
|
||||
- https://minecraft-zh.gamepedia.com/index.php?title=%E9%9E%98%E7%BF%85&variant=zh
|
||||
- https://minecraft-zh.gamepedia.com/index.php?title=%E6%8A%AB%E9%A3%8E&variant=zh
|
||||
|
||||
### 如何在皮肤库中查看一个披风是否带有鞘翅材质?
|
||||
|
||||
访问 `/raw/{tid}.png` 或者 `/textures/{hash}` 查看披风原图。
|
||||
|
||||
## 忘了密码咋办
|
||||
|
||||
1. 使用皮肤站自带的「找回密码功能」
|
||||
2. 使用一个「新密码」注册一个新用户,然后在数据库 `users` 表中用新注册用户的 `password` 字段内容替换掉你原来那个用户的 `password` 字段。替换完成后你就可以使用「新密码」登录你原来的账户了。
|
||||
|
||||
## 手贱开了邮箱验证咋办?
|
||||
|
||||
1. 删除 `plugins` 目录下的 `register-email-validation` 文件夹
|
||||
2. 清空或按需修改数据库 `options` 表中的 `plugins_enabled` 的值
|
||||
|
||||
## 如何开启皮肤库评论区?
|
||||
|
||||
在【站点配置 > 评论代码】中填入你的评论代码即可。
|
||||
|
||||
你问我评论代码是什么?敬请搜索「第三方评论系统」。
|
||||
|
||||
## 如何设置第二个超级管理员?
|
||||
|
||||
去皮肤站数据库 `users` 表那个用户记录的 `permission` 字段设置为 `2`。
|
||||
|
||||
```
|
||||
Permission 字段说明
|
||||
|
||||
0 正常
|
||||
-1 封禁
|
||||
1 管理员
|
||||
2 超级管理员
|
||||
```
|
||||
|
||||
## 如何同时对接论坛和登录插件?
|
||||
|
||||
皮肤站对接至论坛,登录插件也对接至论坛即可。
|
||||
|
||||
## 启用数据对接后如何修改玩家角色名?
|
||||
|
||||
第一步:打开 `users` 数据表,找到你要修改的用户记录,修改这一条记录的 `username` 字段(注意,不是 `nickname`)为你想要修改的【新角色名】;
|
||||
|
||||
![users](https://img.blessing.studio/images/2017/06/29/snipaste_20170629_151335.png)
|
||||
|
||||
第二步:打开 `players` 数据表,找到【原来的角色名】对应的数据记录,将该记录的 `name` 字段修改为【新角色名】
|
||||
|
||||
![players](https://img.blessing.studio/images/2017/06/29/snipaste_20170629_151613.png)
|
||||
|
||||
完成。
|
||||
|
||||
**注意**,如果你对接的是 Discuz、Phpwind 等论坛程序,而且在「数据对接」插件配置页面中将「重复处理」选项配置为「用目标程序上的用户数据覆盖皮肤站」的话,那么【皮肤站】上用户的【昵称】与【绑定的角色名】会被自动同步为该用户在【目标程序(论坛)】上具有【相同邮箱】账户的【用户名】。不愿意这样的话,请同时更改数据对接【目标程序】上的用户名或修改数据对接插件的「重复处理」配置项。
|
||||
|
||||
参考链接:[启用数据对接后就无法再后台更改玩家角色的用户名与昵称? #61](https://github.com/bs-community/blessing-skin-server/issues/61)
|
86
man/i18n.md
Normal file
86
man/i18n.md
Normal file
@ -0,0 +1,86 @@
|
||||
# 添加其它语言
|
||||
|
||||
## 语言文件
|
||||
|
||||
Blessing Skin 的所有语言文件都位于 `resources/lang` 目录下,其中子文件夹的名称为该种语言的唯一标识符。目前 Blessing Skin 支持简体中文(`zh_CN`)和英文(`en`)两种语言。
|
||||
|
||||
```
|
||||
➜ lang git:(master)$ tree
|
||||
.
|
||||
├── en
|
||||
│ ├── admin.yml
|
||||
│ ├── auth.yml
|
||||
│ ├── errors.yml
|
||||
│ ├── general.yml
|
||||
│ ├── index.yml
|
||||
│ ├── locale.js
|
||||
│ ├── options.yml
|
||||
│ ├── setup.yml
|
||||
│ ├── skinlib.yml
|
||||
│ ├── user.yml
|
||||
│ └── validation.yml
|
||||
└── zh_CN
|
||||
├── admin.yml
|
||||
├── auth.yml
|
||||
├── errors.yml
|
||||
├── general.yml
|
||||
├── index.yml
|
||||
├── locale.js
|
||||
├── options.yml
|
||||
├── setup.yml
|
||||
├── skinlib.yml
|
||||
├── user.yml
|
||||
└── validation.yml
|
||||
```
|
||||
|
||||
如果想要添加一种自定义的语言,只需复制一份 `en` 或者 `zh_CN` 文件夹,将其名称改为该种语言的语言代码即可(遵循 ISO 639 或者 RFC 4646 规范),譬如「日语 - `ja`」。
|
||||
|
||||
接下来,请打开 `config/locales.php` 文件,其默认内容如下:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
return [
|
||||
'zh_CN' => [
|
||||
'name' => '中文 (简体)',
|
||||
'short_name' => 'ZH (CN)',
|
||||
],
|
||||
'zh_HANS_CN' => [
|
||||
// 这个别名的意思就是当语言为 zh_HANS_CN 就当成 zh_CN 看待
|
||||
'alias' => 'zh_CN',
|
||||
],
|
||||
'en' => [
|
||||
'name' => 'English',
|
||||
'short_name' => 'EN',
|
||||
],
|
||||
'en_US' => [
|
||||
'alias' => 'en',
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
这是一个以 **语言代码**(对应为 `resources/lang` 下子文件夹的名字)为主键,以含有 `name` 和 `short_name` 键值对的字典为值的字典。其中,`name` 为该语言的本地化名称(如「中文 (简体)」、「日本語」等),而 `short_name` 应该是由英文字母组成的所有人都能看懂的语言名称简写(如 `ZH (CN)`、`JP`)。
|
||||
|
||||
举个栗子,如果你想要把 Blessing Skin 翻译成日文,只需在 `config/locales.php` 中添加对日文的定义:
|
||||
|
||||
```php
|
||||
return [
|
||||
'jp' => [
|
||||
'name' => '日本語',
|
||||
'short_name' => 'JP',
|
||||
],
|
||||
......
|
||||
];
|
||||
```
|
||||
|
||||
然后复制一份 `resources/lang/en` 文件夹并重命名为 `jp`,然后将该文件夹内所有文件中的语言字符串翻译为日文即可。
|
||||
|
||||
最终效果:
|
||||
|
||||
![Snipaste_2018-02-22_11-16-04.png](https://i.loli.net/2018/02/22/5a8e360d10359.png)
|
||||
|
||||
同样的,你也可以用这种方法修改其他语言的翻译字符串。
|
||||
|
||||
## 为 Blessing Skin 的国际化做贡献
|
||||
|
||||
Blessing Skin 目前仅支持简体中文和英语。如果你精通其它语言,欢迎参与 [我们的 Crowdin 项目](https://crowdin.com/project/bs-i18n),为 Blessing Skin 的国际化出一份力。
|
153
man/mod.md
Normal file
153
man/mod.md
Normal file
@ -0,0 +1,153 @@
|
||||
# 配置皮肤 Mod
|
||||
|
||||
推荐您直接前往「插件市场」安装「配置生成」插件,这个插件会提供友好的界面帮助您生成 JSON 配置。
|
||||
|
||||
-------------------
|
||||
|
||||
Blessing Skin 只是一个皮肤站程序,仅仅是提供了上传、存储、检索、分享玩家皮肤的功能。想要在 Minecraft 游戏中显示您之前在皮肤站中上传的皮肤的话,您还需要「自定义皮肤 Mod」的帮助。
|
||||
|
||||
目前 Blessing Skin 支持的皮肤 Mod 有:
|
||||
- [CustomSkinLoader](http://www.mcbbs.net/thread-269807-1-1.html) - 万用皮肤补丁
|
||||
- [UniSkinMod](http://www.mcbbs.net/thread-358932-1-4.html) - Universal Skin Mod
|
||||
|
||||
具体配置方法请继续阅读。
|
||||
|
||||
-------------------
|
||||
|
||||
## CustomSkinLoader 13.1 及以上(推荐)
|
||||
|
||||
CustomSkinLoader 13.1 经过作者的完全重写,支持了 CSL API,并且使用了高端洋气的 JSON 配置文件。
|
||||
|
||||
配置文件位于 `.minecraft/CustomSkinLoader/CustomSkinLoader.json`,你需要在 loadlist 数组最顶端加入你的皮肤站配置。
|
||||
|
||||
举个栗子(原来的 JSON 长这样):
|
||||
|
||||
```json
|
||||
{
|
||||
"enable": true,
|
||||
"loadlist": [
|
||||
{
|
||||
"name": "Mojang",
|
||||
"type": "MojangAPI"
|
||||
},
|
||||
{
|
||||
"name": "SkinMe",
|
||||
"type": "UniSkinAPI",
|
||||
"root": "http://www.skinme.cc/uniskin/"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
你需要将其修改成像这样:
|
||||
|
||||
```json
|
||||
{
|
||||
"enable": true,
|
||||
"loadlist": [
|
||||
{
|
||||
"name": "YourSkinServer",
|
||||
"type": "CustomSkinAPI",
|
||||
"root": "http://example.com/"
|
||||
},
|
||||
{
|
||||
"name": "Mojang",
|
||||
"type": "MojangAPI"
|
||||
},
|
||||
{
|
||||
"name": "SkinMe",
|
||||
"type": "UniSkinAPI",
|
||||
"root": "http://www.skinme.cc/uniskin/"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`"type"` 字段按照你的后台中配置的首选 API 来填(CustomSkinAPI|UniSkinAPI),CSL 13.1 版是支持三种加载方式的~~万受♂之王~~
|
||||
|
||||
如果还是不会填的话,请查看 CSL 开发者的 [MCBBS 发布贴](http://www.mcbbs.net/thread-269807-1-1.html)。
|
||||
|
||||
## CustomSkinLoader 13.1 版以下:
|
||||
|
||||
在 `.minecraft/CustomSkinLoader/skinurls.txt` 中添加你的皮肤站地址:
|
||||
|
||||
```
|
||||
http://example.com/skin/*.png
|
||||
http://skins.minecraft.net/MinecraftSkins/*.png
|
||||
http://minecrack.fr.nf/mc/skinsminecrackd/*.png
|
||||
http://www.skinme.cc/MinecraftSkins/*.png
|
||||
```
|
||||
|
||||
注意你需要将你的皮肤站地址放在配置文件最上方以优先加载。
|
||||
|
||||
同理在 `.minecraft/CustomSkinLoader/capeurls.txt` 中加入:
|
||||
|
||||
```
|
||||
http://example.com/cape/*.png
|
||||
```
|
||||
|
||||
## UniSkinMod 1.4 版及以上(推荐)
|
||||
|
||||
配置文件位于 `.minecraft/config/UniSkinMod/UniSkinMod.json`。
|
||||
|
||||
举个栗子(原来的 JSON 长这样):
|
||||
|
||||
```json
|
||||
{
|
||||
"rootURIs": [
|
||||
"http://www.skinme.cc/uniskin",
|
||||
"https://skin.prinzeugen.net"
|
||||
],
|
||||
"legacySkinURIs": [],
|
||||
"legacyCapeURIs": []
|
||||
}
|
||||
```
|
||||
|
||||
你需要在 `rootURIs` 字典中加入你的皮肤站的地址:
|
||||
|
||||
```json
|
||||
{
|
||||
"rootURIs": [
|
||||
"http://www.skinme.cc/uniskin",
|
||||
"https://skin.prinzeugen.net",
|
||||
"http://example.com"
|
||||
],
|
||||
"legacySkinURIs": [],
|
||||
"legacyCapeURIs": []
|
||||
}
|
||||
```
|
||||
|
||||
如果你的皮肤站首选 API 为 CustomSkinLoader API 的话,你需要在 UniSkinMod 配置文件中填入类似于 `http://example.com/usm` (添加后缀)来支持 UniSkinMod。
|
||||
|
||||
配置 `rootURIs` 后,`legacySkinURIs` 和 `legacyCapeURIs` 可以不用配置。详见[文档](https://github.com/RecursiveG/UniSkinMod/blob/1.9/README.md)。
|
||||
|
||||
## UniSkinMod 1.2 及 1.3 版
|
||||
|
||||
在你 MC 客户端的 `.minecraft/config/UniSkinMod.cfg` 中加入你的皮肤站根地址:
|
||||
|
||||
举个栗子:
|
||||
|
||||
```
|
||||
# SkinMe Default
|
||||
Root: http://www.skinme.cc/uniskin
|
||||
# Your Server
|
||||
Root: http://example.com
|
||||
```
|
||||
|
||||
## UniSkinMod 1.2 版以下
|
||||
|
||||
同样是在 `.minecraft/config/UniSkinMod.cfg` 中配置你的皮肤站地址,但是稍有点不一样。旧版的 UniSkinMod 是不支持 Json API 的,而是使用了传统图片链接的方式(其实这样的话皮肤站也好实现):
|
||||
|
||||
举个栗子:
|
||||
|
||||
```
|
||||
Skin: http://skins.minecraft.net/MinecraftSkins/%s.png
|
||||
Cape: http://skins.minecraft.net/MinecraftCloaks/%s.png
|
||||
# Your Server
|
||||
Skin: http://example.com/skin/%s.png
|
||||
Cape: http://example.com/cape/%s.png
|
||||
```
|
||||
|
||||
这是通过 URL 重写(伪静态)实现的,所以皮肤站目录下没有 `skin` 和 `cape` 目录也不要惊讶哦。
|
||||
|
||||
如果一切都正常工作,你就可以在游戏中看到你的皮肤啦~
|
7
man/readme.md
Normal file
7
man/readme.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Blessing Skin 手册
|
||||
|
||||
欢迎使用 Blessing Skin!
|
||||
|
||||
要开始安装?请阅读 [安装指南](/setup.md)。
|
||||
|
||||
遇到问题,可阅读 [常见问题](/faq.md);提问题前请先阅读 [报告问题的正确姿势](/report.md)。
|
80
man/report.md
Normal file
80
man/report.md
Normal file
@ -0,0 +1,80 @@
|
||||
# 报告问题的正确姿势
|
||||
|
||||
任何事物都不可能永远尽善尽美,Blessing Skin 也是如此。
|
||||
|
||||
因此,当你在使用 Blessing Skin 的途中遇到问题时(包括但不限于:_你自己无法解决的报错、BUG、安全漏洞_),不要气急败坏,请遵守下述规则向开发者提交错误报告。
|
||||
|
||||
## 我遇到了问题,我应该怎么做?
|
||||
|
||||
> DON'T PANIC.
|
||||
|
||||
**首先**,你应该确定这到底是不是 Blessing Skin 的锅:机器宕机、网络问题、甚至是你的浏览器出错都会导致你无法正常使用。因此,在向开发者报告问题之前,你应该先以自己的经验判断一下,这到底是不是 Blessing Skin 的锅。如果你自己判断不了,就在互联网上搜索一下吧,_Google is your friend_。
|
||||
|
||||
**其次**,你应该好好阅读一遍 [FAQ - 常见问题](/faq.md),并确保你的问题不在此列。很多情况下你遇到的问题也曾经坑过不少人,并且他们已经总结出了解决方法:那你为什么不看一看呢?
|
||||
|
||||
为了关爱星际选手,我再念三遍:
|
||||
|
||||
##### 👉 提问前你应该好好阅读一遍 [FAQ - 常见问题](/faq.md) 👈
|
||||
|
||||
#### 👉 提问前你应该好好阅读一遍 [FAQ - 常见问题](/faq.md) 👈
|
||||
|
||||
### 👉 !!提问前你应该好好阅读一遍 [FAQ - 常见问题](/faq.md)!! 👈
|
||||
|
||||
确认你遇到的问题不在其中后,你可以着手准备错误报告了。
|
||||
|
||||
> 推荐阅读:[《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md)
|
||||
>
|
||||
> 充分理解这篇文章可以帮助你更好地提问并更快地收到回复和正确的解答(不论何时何地)。但请注意,《提问的智慧》的创作团队仅是提供这一篇文章来指导你如何正确提问,他们并不提供针对任何问题的任何技术支持。**不要做白痴。**
|
||||
|
||||
## 开发者不是神
|
||||
|
||||
看你们大多数人好像都不知道的样子,
|
||||
|
||||
那就让我来告诉你们一个真理吧:
|
||||
|
||||
> 开发者是没法仅通过你的只言片语就定位问题的!
|
||||
|
||||
所以,报告问题的时候不要再直接一句「皮肤站不能用了」丢过来然后就再也没有下文了。在没有日志、报错截图等信息的辅助下,我 **不可能** 知道网线对面的你发生了什么。
|
||||
|
||||
## 我应该提供什么信息给开发者以帮助调试?
|
||||
|
||||
这也要根据具体情况而定,我这里说几个通用的吧。
|
||||
|
||||
### 报错截图
|
||||
|
||||
如果是 Blessing Skin 程序的问题,应该会有错误信息提示,请把这个提示截图发给我。
|
||||
|
||||
**注意,反馈之前请先将 `.env` 配置文件中的 `APP_DEBUG` 的值设置为 `true`,这样可以显示更多的调试信息。**
|
||||
|
||||
### 日志
|
||||
|
||||
错误日志是开发者的好朋友,所以报告问题时请带上这些日志:
|
||||
|
||||
1. 皮肤站日志(位于 `storage/logs/laravel.log`);
|
||||
|
||||
如果是游戏内皮肤无法显示等问题,你还需要带上你的皮肤 Mod 日志:
|
||||
|
||||
1. CustomSkinLoader 的日志(位于 `.minecraft/CustomSkinLoader/CustomSkinLoader.log`)
|
||||
2. UniSkinMod 的日志(直接输出至 Minecraft 游戏日志,所以给我游戏日志就好)
|
||||
|
||||
如果是 Yggdrasil 外置登录的问题:
|
||||
|
||||
1. 游戏服务器从启动开始的所有日志
|
||||
2. 游戏客户端从启动开始的所有日志
|
||||
|
||||
### 你的运行环境信息
|
||||
|
||||
- 你用的是虚拟主机还是 VPS?
|
||||
- 你的 PHP 版本是多少?
|
||||
- 你用的是什么 Web 服务器?Nginx/Apache?
|
||||
- 你用的什么数据库?版本是多少?
|
||||
- 你用什么浏览器访问程序时出现了问题?
|
||||
- 出现问题时浏览器地址栏上的 URL 是什么?
|
||||
|
||||
等等……
|
||||
|
||||
## 我该如何联系开发者?
|
||||
|
||||
1. GitHub Issues
|
||||
2. 加入 QQ 讨论群 [573741451](https://jq.qq.com/?_wv=1027&k=58jXtLn)
|
||||
3. 加入 Telegram 群组 [@blessing_skin](https://t.me/blessing_skin)
|
79
man/setup.md
Normal file
79
man/setup.md
Normal file
@ -0,0 +1,79 @@
|
||||
# 安装指南
|
||||
|
||||
虽然不会图文并茂,但我会尽量写详细点,希望你能看懂。
|
||||
|
||||
> 如果你在安装过程中遇到任何问题,请先查阅 [常见问题](/faq.md)!
|
||||
|
||||
## 检查你的机器是否符合安装需求
|
||||
|
||||
具体请查看 [README - 环境需求](https://github.com/bs-community/blessing-skin-server/blob/master/README.md#%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82)。
|
||||
|
||||
Blessing Skin 有自带运行时环境检查(报错以 `[Error]` 开头),遇到这种情况就说明你的环境不符合需求。
|
||||
|
||||
## 下载安装包
|
||||
|
||||
首先你要明白,我提供的安装包是由两个部分组成的:
|
||||
|
||||
- Blessing Skin 皮肤站本体的源码
|
||||
- 依赖库以及前端构建文件
|
||||
|
||||
如果你直接从 GitHub 上拉取代码是无法直接使用的,因为其中只包含了本体源码,而没有包含依赖库等其他必须的文件。所以,你必须 **下载完整安装包** 或者 [自行构建](https://github.com/bs-community/blessing-skin-server/blob/master/README.md#%E8%87%AA%E8%A1%8C%E6%9E%84%E5%BB%BA)(不是所有人都会)。
|
||||
|
||||
所以,如果你没有相应的技术基础,请下载完整安装包。
|
||||
|
||||
各版本的完整安装包可以在这里找到:[GitHub releases](https://github.com/bs-community/blessing-skin-server/releases)
|
||||
|
||||
注意,你应该下载类似 `blessing-skin-server-xxx.zip` 的文件,而不是下载 `Source Code`。
|
||||
|
||||
## 解压安装包
|
||||
|
||||
解压到你喜欢的地方去,必须保证 `public/index.php` 在网站根目录下。
|
||||
|
||||
## 配置 URL 重写规则(伪静态)
|
||||
|
||||
大多数虚拟主机用户的 Web Server 都是 Apache,本程序自带开箱即用的 `.htaccess`,所以这些用户无需进行任何操作(前提是安装好并开启 URL 重写模块),直接进入下一步即可。
|
||||
|
||||
如果你使用的是 Nginx 或者其他 Web Server,你需要手动配置 URL 重写规则。
|
||||
|
||||
下面以 Nginx 为例:
|
||||
|
||||
1. 找到你的 Nginx 站点配置文件(也就是你这个域名的 `server {}` 块)
|
||||
2. 在 `server {}` 块中适当的地方添加如下规则:
|
||||
|
||||
```nginx
|
||||
root /path/to/your/blessing-skin/public;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
```
|
||||
|
||||
注意上面的 `root` 配置项,务必使它指向皮肤站的 `public` 目录。
|
||||
|
||||
> 如果你用的是 lnmp 一键包、某某面板之类的东西添加的站点配置,请阅读 [Issue #46 - 图片无法显示](https://github.com/printempw/blessing-skin-server/issues/46) 并查看你的配置文件中是不是也有类似的东西。
|
||||
|
||||
什么?你不知道你的 `nginx.conf` 在哪,也不知道该把这一段加在哪里?
|
||||
|
||||
换 Apache 吧。
|
||||
|
||||
## 测试伪静态是否生效
|
||||
|
||||
打开你的浏览器,访问 `http://你的皮肤站地址/setup`。
|
||||
|
||||
如果显示 404 且页面上没有任何 `Blessing Skin` 字样,就说明伪静态没生效,请根据前面的指导重新检查。
|
||||
|
||||
如果正确显示了安装界面,就可以继续了。
|
||||
|
||||
## 运行安装向导
|
||||
|
||||
如果上个步骤中你配置的数据库连接信息没出错的话,现在访问皮肤站就可以看到欢迎页面了:
|
||||
|
||||
![Welcome Page](https://i.loli.net/2018/02/08/5a7c1b7f4ab66.png)
|
||||
|
||||
跟着安装向导填写必要信息即可快速完成安装。
|
||||
|
||||
## 安装完成
|
||||
|
||||
不出意外的话,你已经完成了 Blessing Skin 的安装,尽情使用吧。
|
||||
|
||||
**如果你在安装过程中遇到任何问题,请先查阅 [常见问题](/faq.md),确认你遇到的问题不在此列后,再依照 [报告问题的正确姿势](/report.md) 中的要求联系开发者。**
|
44
man/update-sources.md
Normal file
44
man/update-sources.md
Normal file
@ -0,0 +1,44 @@
|
||||
# 更新源列表
|
||||
|
||||
本页面列出了我们已知的,且其维护者愿意公开的 Blessing Skin 的可用更新源及其镜像。
|
||||
|
||||
请在 `.env` 中通过 `UPDATE_SOURCE` 字段指定更新源。即在配置文件最后添加一行:`UPDATE_SOURCE = https://example.com/update.json`
|
||||
|
||||
如有意向维护第三方更新源请提交 Issue。
|
||||
|
||||
如果你想维护第三方更新源,可以直接 Clone 这个仓库:[https://dev.azure.com/blessing-skin/_git/Blessing%20Skin%20Server](https://dev.azure.com/blessing-skin/_git/Blessing%20Skin%20Server)。其中的 JSON 文件包含了最新版本的更新信息,ZIP 压缩包为完整更新包。你也可以直接使用 [更新源服务端](https://github.com/bs-community/update-source-server) 这个项目。
|
||||
|
||||
### 官方更新源
|
||||
|
||||
```
|
||||
https://dev.azure.com/blessing-skin/51010f6d-9f99-40f1-a262-0a67f788df32/_apis/git/repositories/a9ff8df7-6dc3-4ff8-bb22-4871d3a43936/Items?path=%2Fupdate.json
|
||||
```
|
||||
|
||||
官方更新源位于 Azure DevOps。你不需要手动添加官方更新源,默认情况下即是从官方更新源获取更新。
|
||||
|
||||
### 第三方更新源
|
||||
|
||||
> 注意,我们无法 100% 保证第三方更新源的安全。请谨慎使用,防止恶意代码的注入。更新源的排序不分先后。
|
||||
|
||||
#### LittleSkin
|
||||
|
||||
```
|
||||
https://littleskin.cn/bs-update/update.php
|
||||
```
|
||||
|
||||
由 Honoka Tech LTD 运营的 LittleSkin 提供的 Blessing Skin Server 更新源,使用腾讯云 CDN 分发资源。与官方源实时同步,有更新时,第一个使用这个更新源更新 Blessing Skin Server 的站点将会从官方源下载更新包(也有可能直接从这个源下载更新包,取决于服务器拉取更新包的速度),从第二个站点开始将会直接从这个更新源下载更新包。
|
||||
|
||||
这个更新源是 [更新源服务端](https://github.com/bs-community/update-source-server) 的一个示例站点。
|
||||
|
||||
#### MintTang-BS-UP
|
||||
|
||||
```
|
||||
https://bs-cdn.minttang.cn/update.php
|
||||
```
|
||||
|
||||
#### Uranium's Mirror
|
||||
```
|
||||
https://bs-mirror.r9mc.com/update.json
|
||||
```
|
||||
|
||||
这个更新源由又拍云提供 CDN 支持。
|
326
man/v3-changelog.md
Normal file
326
man/v3-changelog.md
Normal file
@ -0,0 +1,326 @@
|
||||
# v3 更新日志
|
||||
|
||||
v3.5.0
|
||||
==============
|
||||
- **[新增]** 姗姗来迟的官方「插件市场」
|
||||
- **[新增]** 全新的「插件管理」页面
|
||||
- **[新增]** 自带更完善的用户邮箱验证功能(移除旧有的「注册邮箱验证」插件)
|
||||
- **[新增]** 支持通过 Mailgun、Amazon SES、sendmail 等服务发送邮件
|
||||
- **[新增]** 支持上传皮肤时自动检测 Steve / Alex 模型
|
||||
- **[新增]** 支持拖放文件上传皮肤
|
||||
- **[新增]** 材质云存储支持(「腾讯云 COS」「阿里云 OSS」「七牛云存储」插件)
|
||||
- **[新增]** 支持更多的角色名规则(与 Mojang 一致、允许汉字等 CJK 字符、自定义正则表达式)
|
||||
- **[新增]** 允许通过正则表达式自定义皮肤库材质名称规则
|
||||
- **[新增]** 在皮肤库首页显示材质的「喜欢」计数
|
||||
- **[新增]** 在皮肤库材质详情页面添加「快速使用」选项
|
||||
- **[新增]** 允许在皮肤库材质详情页面直接修改皮肤的适用模型
|
||||
- **[新增]** 选项「注册时要求填写游戏内角色名」(移除注册页面上的「注册成功后自动新建同名角色」)
|
||||
- **[新增]** 选项「允许用户直接下载皮肤库中材质的原始文件」
|
||||
- **[新增]** 允许为每一种支持的语言设置不同的站点名称、站点描述、公告、版权文字等内容
|
||||
- **[新增]** 允许自定义程序的语言文件与视图文件
|
||||
- **[新增]** 新插件:「单角色限制」「分享奖励积分」「邀请码注册」
|
||||
- **[改进]** 不再强制要求安装 PHP fileinfo 扩展
|
||||
- **[改进]** 更完善的数据对接(原数据对接插件已拆分为 Authme、CrazyLogin 与论坛数据对接三个插件)
|
||||
- **[改进]** 提升获取静态内容(材质 PNG 文件、玩家 Json Profile 等)的性能
|
||||
- **[改进]** 增强登录次数限制与密码重置功能的安全性
|
||||
- **[改进]** 不允许普通管理员访问「插件市场」「插件管理」「检查更新」等页面
|
||||
- **[改进]** 将「请求不存在的角色时返回 200 而不是 404」选项修改为返回 204
|
||||
- **[改进]** 安装向导默认勾选「生成随机 APP_KEY 和 SALT 以保证安全」
|
||||
- **[改进]** 更新 `.htaccess` 与 `web.config` 文件,修复可能的伪静态问题
|
||||
- **[改进]** 翻新语言文件,更新程序文本
|
||||
- **[改进]** 为一个全新的角色设置 alex 皮肤时自动设置其优先模型
|
||||
- **[改进]** 为「角色管理」页面的「优先模型」设置项添加更详细的描述文字
|
||||
- **[改进]** 更新「举报材质」插件,添加举报奖惩设置与多语言支持
|
||||
- **[改进]** 更新「批量导入」插件,修复乱码问题,改进性能,支持一次性导入更多材质
|
||||
- **[改进]** 更新「Yggdrasil API」插件,更完善的 Minecraft [外置登录系统](https://github.com/bs-community/yggdrasil-api/blob/master/CHANGELOG.md)
|
||||
- **[改进]** 支持通过 UNIX Socket 连接 Redis(「Redis」插件已更新)
|
||||
- **[改进]** 移除密码 Hash 算法 `CrazyCrypt1`
|
||||
- **[改进]** 使用 `.env` 变量指定自动更新所用的更新源
|
||||
- **[改进]** 使用 `MAIL_DRIVER` 而非 `MAIL_HOST` 判断是否关闭邮件发送功能
|
||||
- **[改进]** 移除材质 PNG 文件响应中的 `Expires` 标头(已有 `Cache-Control` 标头)
|
||||
- **[改进]** 改进后台用户管理、角色管理等页面的错误提示
|
||||
- **[改进]** 在某些页面使用弹窗而非右上角的 Toast 提示来显示错误信息
|
||||
- **[改进]** 在「严重错误」弹出框标题处添加指向 FAQ 的超链接
|
||||
- **[改进]** 当邮件发送失败时记录详细的错误日志
|
||||
- **[改进]** 添加对 `.env` 文件的读权限检测
|
||||
- **[改进]** 更新 console 彩蛋的样式
|
||||
- **[修复]** Alex 模型皮肤预览手臂像素错位的问题
|
||||
- **[修复]** 某些页面上的 CSRF 与 XSS 漏洞
|
||||
- **[修复]** 开启 CDN 时「插件管理」页面出现 `414 Request-URI Too Large` 的问题
|
||||
- **[修复]** Json Profile 中 `Last-Modified` 响应标头中时区错误的问题
|
||||
- **[修复]** 可能出现的 `Undefined property: stdClass::$column_name` 问题
|
||||
- **[修复]** 密码长度上限在某些情况下由 32 变为 16 的问题
|
||||
- **[修复]** 登录验证码为空时提示信息不符的问题
|
||||
- **[插件开发][新增]** 允许插件定义对其他插件的依赖关系
|
||||
- **[插件开发][新增]** 支持自动加载插件中的 composer 依赖库
|
||||
- **[插件开发][新增]** 环境变量 `PLUGINS_DIR` 与 `PLUGINS_URL`,用于自定义插件加载目录
|
||||
- **[插件开发][新增]** 添加新的全局依赖库 `guzzlehttp/guzzle`
|
||||
- **[插件开发][改进]** 弃用 `App\Services\Utils` 工具类,请使用同功能的 helper function 替代
|
||||
- **[插件开发][修复]** `Hook::addMenuItem` 无法添加至菜单末尾的问题
|
||||
|
||||
v3.4.0
|
||||
==============
|
||||
- **[新增]** 全新的 3D 皮肤预览库,支持双层皮肤和 Alex 模型!(感谢 [skinview3d](https://github.com/to2mbn/skinview3d))
|
||||
- **[新增]** 支持 SQLite 数据库(理论上也支持 PostgreSQL)
|
||||
- **[新增]** 衣柜中添加「重置已选材质」的按钮
|
||||
- **[新增]** 支持 PHP 7.2(需要安装补丁包,具体请查看:[在 PHP 7.2 上运行](https://github.com/printempw/blessing-skin-server/wiki/%E5%9C%A8-PHP-7.2-%E4%B8%8A%E8%BF%90%E8%A1%8C))
|
||||
- **[改进]** 调整密码长度上限为 32 个字符
|
||||
- **[改进]** 你可以直接在侧边栏访问所有已启用插件的配置页面了
|
||||
- **[改进]** 规避可能出现的越权操作角色的行为
|
||||
- **[改进]** 当用户收藏至衣柜的材质被设为隐私或删除时,返还用户相应积分
|
||||
- **[改进]** 优化后台管理面板首页上的 SQL 查询性能
|
||||
- **[改进]** 调整管理面板首页上的「概览」图表样式
|
||||
- **[改进]** 当检测到安装不完整时提示用户而不是强行覆盖安装,以避免可能出现的数据丢失
|
||||
- **[改进]** 安装时检查主机是否启用 escapeshellarg 函数,如被禁用,请手动安装本程序
|
||||
- **[改进]** 当普通用户访问被设置为隐私的材质时返回 403 而不是 404 #111
|
||||
- **[修复]** Alex 模型皮肤的 2D 预览上出现的像素偏移问题
|
||||
- **[修复]** Firefox 上「设为隐私」等按钮失效(地址栏显示 `javascript:xxx;`)的问题 #105
|
||||
- **[修复]** IE 和 Edge 浏览器上自动语言检测失效,导致默认访问显示英文界面的问题
|
||||
- **[修复]** 程序报错中可能出现的中文乱码问题
|
||||
|
||||
v3.3.2
|
||||
===============
|
||||
- **[修复]** 设置材质为隐私时检查积分,防止出现负数积分的情况
|
||||
- **[修复]** 收藏材质至衣柜时可能出现的错误
|
||||
- **[修复]** 衣柜物品重命名后不显示其材质类型的问题
|
||||
- **[修复]** 加强密码重置操作的安全检查
|
||||
- **[改进]** 更新 .htaccess 重写配置文件,排除可能的兼容性问题
|
||||
- **[改进]** 关爱强迫症患者,根据窗口大小自动调整衣柜每一页显示的物品数 #89
|
||||
- **[改进]** 添加适用于 Blessing Skin 插件的开源许可证例外情况 #98
|
||||
- **[改进]** 注册时添加「自动创建与昵称同名的角色」选项
|
||||
- **[改进]** 尝试避免因为站点地址后加上 index.php 而造成的资源加载错误 #101
|
||||
|
||||
v3.3.1
|
||||
===============
|
||||
- **[修复]** 修改密码后登出出错的问题
|
||||
- **[修复]** 皮肤库无法上传 Alex 模型皮肤的问题
|
||||
- **[修复]** 后台「用户管理」中管理员无法操作自己的问题
|
||||
- **[修复]** 在衣柜中移除物品时报错的问题
|
||||
- **[修复]** TextureController 中的多语言翻译
|
||||
- **[修复]** 错误日志记录的问题
|
||||
- **[改进]** 首页的响应式样式,修复双滚动条的问题 #80
|
||||
- **[改进]** 调整用户反馈发送的频率
|
||||
- **[改进]** 当后台「首页背景图」选项留空时使用默认背景图
|
||||
- **[改进]** 当签到剩余时间小于一小时时显示具体分钟
|
||||
- **[改进]** 一键升级中可能导致失败的问题
|
||||
- **[改进]** 检查安装完整性时报错的中文翻译
|
||||
- **[改进]** 报错展示并关闭后不会造成页面变形
|
||||
- **[改进]** 可能造成清除视图缓存失败的问题
|
||||
|
||||
v3.3
|
||||
===============
|
||||
- **[新增]** 衣柜页面的无刷新分页与即时搜索
|
||||
- **[新增]** 皮肤库页面的无刷新筛选、分页、搜索
|
||||
- **[新增]** 皮肤库中「清除筛选」的选项
|
||||
- **[新增]** 删除角色材质时可选择要删除的材质类型
|
||||
- **[新增]** 可以在「管理面板」中修改角色名
|
||||
- **[新增]** 在「用户管理」中显示用户拥有的角色数量
|
||||
- **[新增]** 现在「管理面板」中「用户管理」与「角色管理」可相互跳转
|
||||
- **[新增]** 在点击用户头像出现的菜单中添加到管理面板的链接
|
||||
- **[新增]** 提供选项以自定义检测用户 IP 地址的方法
|
||||
- **[新增]** 对 `storage`、`resources`、`plugins` 目录的写权限检查
|
||||
- **[新增]** PHP 版本过低、Composer 依赖未安装时的中文报错
|
||||
- **[新增]** 插件 name 定义重复时报错而不是静默覆盖
|
||||
- **[新增]** 为 JavaScript 文件添加自动化测试(感谢 @g-plane 的帮助)
|
||||
- **[新增]** 「配置生成」插件现在提供 CustomSkinLoader 的 ExtraList 下载支持
|
||||
- **[新增]** Profile 文件缓存、举报材质、Yggdrasil API 支持等插件
|
||||
- **[改进]** 上传页面重新选择材质文件后自动更新「材质名称」输入框的值
|
||||
- **[改进]** 自动从其他人的衣柜中与角色上删除失效材质(被删除或被设为隐私)
|
||||
- **[改进]** 点击「我的衣柜」页面的「齿轮」图标不再同时更新材质预览
|
||||
- **[改进]** 「管理面板」中更改用户积分后输入框自动失去焦点
|
||||
- **[改进]** 「用户管理」、「角色管理」、「插件管理」页面中列表加载的性能
|
||||
- **[改进]** 「角色管理」修改角色名时的提示不再是「参考本站设置」
|
||||
- **[改进]** 使用漂亮的 `sweetalert2` 替换管理面板中的原生对话框
|
||||
- **[改进]** 让渡角色时输入 UID 可实时显示对应用户的昵称
|
||||
- **[改进]** 重命名材质名称时输入框内自动填入原来的名称
|
||||
- **[改进]** 与返还积分有关的文本将取决于「返还积分」选项是否开启
|
||||
- **[改进]** 现在管理员无法操作其他管理员与超级管理员的角色
|
||||
- **[改进]** 登录后重定向至上一个试图访问的地址
|
||||
- **[改进]** 自动生成页面底部版权信息的年份
|
||||
- **[改进]** 添加首页背景图片的占位高度
|
||||
- **[改进]** 添加对高清皮肤格式的检测
|
||||
- **[改进]** 增强数据对接插件的稳定性
|
||||
- **[改进]** 调整登录页面的样式
|
||||
- **[改进]** 皮肤库的使用体验
|
||||
- **[改进]** 启用「数据对接」插件时合并用户中心首页与角色管理页面
|
||||
- **[改进]** 弃用 Bower 与 Laravel Elixir,使用 Yarn 管理依赖,添加 ESLint 语法检查
|
||||
- **[改进]** 使用 ES6 重写并模块化 JavaScript 代码
|
||||
- **[改进]** 更新 AdminLTE、jQuery 等依赖库至最新版
|
||||
- **[修复]** 皮肤站搜索页的 XSS 漏洞
|
||||
- **[修复]** 语言文件中的拼写错误
|
||||
- **[修复]** 更新个人资料后不跳转的问题
|
||||
- **[修复]** 皮肤库中切换语言后不再会清除原来的筛选条件
|
||||
- **[修复]** 修改邮箱时不检测新地址是否冲突的问题
|
||||
- **[修复]** 点击无披风的角色时 3D 预览仍然显示披风的问题
|
||||
- **[修复]** 管理面板中「角色管理」页面的材质预览链接
|
||||
- **[修复]** 皮肤库中不显示上传者自己的隐私材质问题
|
||||
- **[修复]** 为照顾 v2 用户,除了修改新密码外需要密码的地方要求改为最少 6 位
|
||||
- **[修复]** 安装时超级管理员的密码长度最少为 8 位
|
||||
- **[修复]** 对接 CrazyLogin 时的密码加密问题
|
||||
- **[修复]** 当用户总积分低于积分倍率时出现的问题
|
||||
|
||||
v3.2.1
|
||||
=============
|
||||
- **[新增]** 安装时生成随机 APP_KEY & SALT(可选)
|
||||
- **[新增]** 新的密码加密算法 —— 使用 PHP 自带的 password_hash()
|
||||
- **[新增]** 便于插件开发的帮助函数 e.g. `plugin()` & `plugin_assets()`
|
||||
- **[新增]** 错误页 / 安装页上可以选择语言了
|
||||
- **[新增]** 为 JavaScript 添加了帮助函数 url()
|
||||
- **[新增]** 匿名发送统计信息的选项
|
||||
- **[新增]** 启用 / 禁用 / 删除插件时的回调函数定义
|
||||
- **[新增]** 插件 package.json 文件中的 url 字段
|
||||
- **[改进]** 移除页面上默认的面包屑元素
|
||||
- **[改进]** assets 的目录结构
|
||||
- **[改进]** 当配置项为空时加载默认的站点图标
|
||||
- **[改进]** 现在用户密码最长可以设置 64 位
|
||||
- **[改进]** 使用 hash_equals() 来对比密码 Hash 以避免时序攻击
|
||||
- **[改进]** 加密 cookie 中存储的 token
|
||||
- **[改进]** 自定义错误页面的样式
|
||||
- **[改进]** 升级时清除视图缓存文件
|
||||
- **[改进]** 更详细的错误提示 (for stupids)
|
||||
- **[改进]** 现在你可以在每个页面的 F12 Console 上看到一个 badge 了(笑
|
||||
- **[改进]** 在用户中心 / 管理面板的侧边栏上显示当前用户权限
|
||||
- **[修复]** 用户 / 角色 / 插件管理页表格的横向滚动
|
||||
- **[修复]** 无法搜索衣柜
|
||||
- **[修复]** 弹出对话框的字体粗细
|
||||
- **[修复]** 负载均衡 / 反向代理下的 HTTP/HTTPS 协议判断
|
||||
- **[修复]** 某些加密方式不可用的问题
|
||||
- **[修复]** 当积分消耗设置为 0 时出现 division by zero 的问题
|
||||
|
||||
v3.2.0
|
||||
============
|
||||
- **[新增]** 炫酷的插件系统!
|
||||
- **[新增]** 完全国际化,支持中英文!
|
||||
- **[新增]** 自定义站点图标的选项
|
||||
- **[新增]** 收藏消耗积分的选项
|
||||
- **[新增]** 返还积分的选项
|
||||
- **[新增]** 自动判断资源文件的选项
|
||||
- **[新增]** 站点公告现在支持 Markdown 排版了
|
||||
- **[新增]** 运行时环境检查
|
||||
- **[新增]** 右下角程序版权文字有多种样式可供选择(修改右下角将不再被允许)
|
||||
- **[新增]** Memcahce 的支持
|
||||
- **[新增]** 为 JavaScript 脚本添加了 `blessing` 变量,可获取程序基本信息(只包含版本等,不会泄露敏感信息)
|
||||
- **[新增]** 现在在衣柜可以一起试穿皮肤和披风,并一起应用了
|
||||
- **[新增]** 密码重置现在会留下记录
|
||||
- **[新增]** JSON Profile 现在会带上 last-modified 头
|
||||
- **[新增]** 用户注册和材质上传的图表
|
||||
- **[改进]** 全新的首页!(还以一种样式的首页以插件形式提供)
|
||||
- **[改进]** 更完善更稳定的一键更新系统(现在也有下载进度条了)
|
||||
- **[改进]** 更灵活的更新源设置
|
||||
- **[改进]** 更好的 用户 / 角色管理,现在可以无刷新地操作 / 分页了!
|
||||
- **[改进]** 当 APP_DEBUG 关闭时显示更好看的错误页面
|
||||
- **[改进]** 添加 RewriteBase 到 .htaccess
|
||||
- **[改进]** 缓存、配置生成、数据对接等功能现在以插件的形式提供
|
||||
- **[修复]** 当上传图片过大时出现「文件不能为空」
|
||||
- **[修复]** 禁止中文角色名失效的问题
|
||||
- **[修复]** 无法从衣柜中删除物品
|
||||
- **[修复]** 安装在子目录时登出会跳转到奇怪的地方去
|
||||
- **[修复]** 在未完全安装时再次运行安装程序时会出现错误
|
||||
- **[修复]** location path 以 . 开始造成的 IIS 错误
|
||||
- **[修复]** 当材质重复并取消上传时不删除缓存文件
|
||||
- **[修复]** 当材质上传者被删除时访问材质详情页出现奇怪的问题
|
||||
|
||||
v3.1.2
|
||||
================
|
||||
- **[新增]** 管理面板首页添加概览图表
|
||||
- **[新增]** 添加「从 v2 导入数据」项到菜单
|
||||
- **[新增]** 最大允许上传大小的选项
|
||||
- **[新增]** 衣柜搜索
|
||||
- **[改进]** 优化性能
|
||||
- **[改进]** 允许其他用户重新上传已上传的私密材质
|
||||
- **[修复]** 与 undefined 的比较
|
||||
- **[修复]** 当 return_200_when_notfound 开启时的 cache-control 头
|
||||
- **[修复]** 安装页面上 PrettyPageException 的翻译问题
|
||||
- **[修复]** 语言文件中的错误
|
||||
- **[修复]** Json Profile 的 cache-control 头
|
||||
|
||||
v3.1.1
|
||||
================
|
||||
- **[修复]** 更新页面的 CDN 缓存控制
|
||||
- **[修复]** JSON Profile 的 Cache-Control 头
|
||||
- **[修复]** 皮肤库搜索页面
|
||||
- **[修复]** 手机上看不见语言选单中的项目
|
||||
- **[修复]** String.prototype.endsWith 的兼容性
|
||||
- **[修复]** 上传时先选择材质类型造成的实时预览出错
|
||||
- **[修复]** 使用 CDN 造成的 url() 问题
|
||||
- **[修复]** 现在不会出现负数页数了
|
||||
- **[修复]** 无法使用零点后可签到的问题
|
||||
- **[修复]** 获取环境变量的问题
|
||||
- **[修复]** 密码错误时的提示信息
|
||||
- **[修复]** 无法展示 Flash Messages 的问题
|
||||
- **[修复]** HTTP 错误页上国际化失效的问题
|
||||
- **[修复]** 数据表前缀失效的问题
|
||||
- **[修复]** 默认的 APP_KEY 长度问题
|
||||
- **[改进]** 升级 phpdotenv 至 v2.4.0
|
||||
- **[改进]** 错误页面的翻译字符串
|
||||
- **[改进]** 登出后重新生成 SESSION ID
|
||||
- **[改进]** 衣柜中更多按钮可能被 ADB 屏蔽的提示
|
||||
|
||||
v3.1
|
||||
===========
|
||||
- **[新增]** 全新的项目框架
|
||||
- **[新增]** 重命名衣柜物品
|
||||
- **[新增]** 缓存相关配置
|
||||
- **[新增]** 材质预览、头像等的文件缓存
|
||||
- **[新增]** 屌爆的国际化!
|
||||
- **[改进]** 暂停 3D 预览同时停止旋转
|
||||
- **[改进]** 默认打开 display_errors
|
||||
- **[改进]** 部分主机读取不到 `$_ENV` 内容的情况
|
||||
- **[改进]** 密码输入错误太多次时的提示
|
||||
- **[改进]** 皮肤库按用户搜索不再显示 UID
|
||||
- **[修复]** 双层皮肤的预览
|
||||
- **[修复]** 相对 URL 的问题
|
||||
- **[修复]** 安装在子目录的问题
|
||||
- **[修复]** 上传页选择材质类型时实时预览的问题
|
||||
- **[修复]** 让渡角色的 BUG
|
||||
- **[修复]** 管理页上用户和角色搜索的问题
|
||||
|
||||
v3.0.4
|
||||
==========
|
||||
- **[新增]** 重新加入自动更新
|
||||
- **[新增]** 更多的更新源
|
||||
- **[改进]** 移动框架文件至 app/Core 目录
|
||||
- **[改进]** 自动决定存储空间的显示单位
|
||||
- **[改进]** 使用 SQL 来计算用户已使用的存储空间,提升性能
|
||||
- **[改进]** 使用 callout 代替 alert
|
||||
- **[改进]** 调整个性化配置页面的列比例
|
||||
- **[改进]** 使上传页面模型选择更加醒目
|
||||
- **[修复]** 卡「注册中」的问题
|
||||
- **[修复]** 访问 /index.php 出现 404
|
||||
- **[修复]** Migrations 的 BUG
|
||||
- **[修复]** 更新日志不换行
|
||||
- **[修复]** 清空角色材质时出现的问题 #31
|
||||
- **[修复]** 依据 UID 查找皮肤库时分页的 URL 问题
|
||||
|
||||
v3.0.3
|
||||
==========
|
||||
- **[新增]** 单独设置私有材质的积分消耗
|
||||
- **[新增]** 使用 sweetalert2 来呈现更好的通知
|
||||
- **[新增]** 左下角版权文字自定义
|
||||
- **[新增]** IIS 的 MIME 类型配置
|
||||
- **[新增]** 可使用所拥有角色的角色名登录站点
|
||||
- **[新增]** v2 用户的数据迁移
|
||||
- **[修复]** 修复时区问题
|
||||
- **[修复]** 皮肤库上传链接的相对路径 #27
|
||||
- **[修复]** 数据表中某些字段的默认值
|
||||
- **[修复]** 不再转义自定义 CSS/JS
|
||||
- **[修复]** 计算皮肤库总页数的逻辑
|
||||
- **[改进]** 使用 css 来省略过长材质名称
|
||||
- **[改进]** 当材质失效时通知用户(或自动删除)
|
||||
|
||||
v3.0.2
|
||||
==========
|
||||
- **[新增]** 迁移 v2 用户皮肤至 v3 皮肤库,请访问 /setup/migrations
|
||||
- **[新增]** 为头像添加 Query String 的选项(用于头像的 CDN 缓存)
|
||||
- **[新增]** 检查更新功能(自动更新还没写好
|
||||
- **[新增]** 评论脚本的占位符,可自动替换为材质的 id 等信息
|
||||
- **[改进]** 使用 mbstring 来进行更好的中文分割
|
||||
- **[改进]** 检查安装完整性的逻辑
|
||||
- **[修复]** 首页的背景图片不能全屏
|
||||
- **[修复]** 中文角色名的 Bug
|
||||
- **[修复]** Bug of converting object to string
|
||||
- **[修复]** 带 api 的 json 地址返回无法访问的 textures 地址
|
||||
|
||||
-----------------------
|
||||
|
||||
v3 之前的更新日志请自己去看 GitHub releases 吧。
|
103
man/v3-to-v4.md
Normal file
103
man/v3-to-v4.md
Normal file
@ -0,0 +1,103 @@
|
||||
# 从 v3 升级到 v4
|
||||
|
||||
**请务必按步骤进行!**
|
||||
|
||||
## 1. 更改您的 Web 服务器的根目录
|
||||
|
||||
将根目录位置改为原位置下的 `public` 目录。
|
||||
|
||||
修改完配置,别忘了重新启动 Web 服务使配置生效。
|
||||
|
||||
### Apache 用户
|
||||
|
||||
编辑您的 `httpd.conf` 文件,找到 `DocumentRoot` 和 `Directory` 配置项。假设旧的配置是这样的(忽略配置文件中的其它部分):
|
||||
|
||||
```config
|
||||
DocumentRoot "E:/Apps/xampp/htdocs"
|
||||
<Directory "E:/Apps/xampp/htdocs">
|
||||
```
|
||||
|
||||
则改为:
|
||||
|
||||
```config
|
||||
DocumentRoot "E:/Apps/xampp/htdocs/public"
|
||||
<Directory "E:/Apps/xampp/htdocs/public">
|
||||
```
|
||||
|
||||
### Nginx 用户
|
||||
|
||||
修改您的 `nginx.conf` 文件。修改 `server` 块下的 `root` 项。例如,假设原来的配置是这样的(忽略配置文件中的其它部分):
|
||||
|
||||
```config
|
||||
server {
|
||||
root /var/www;
|
||||
}
|
||||
```
|
||||
|
||||
则改为:
|
||||
|
||||
```config
|
||||
server {
|
||||
root /var/www/public;
|
||||
}
|
||||
```
|
||||
|
||||
### IIS 用户
|
||||
|
||||
请自行搜索相关文档。
|
||||
|
||||
## 2. 备份数据库以及站点文件
|
||||
|
||||
这很重要!千万别偷懒。
|
||||
|
||||
您需要将您的站点数据库导出备份,以防在更新过程中意外丢失数据。您还需要备份位于站点根目录下的 `.env` 文件,这个文件中包含了数据库连接信息以及密码加密方式等站点关键信息,您应该知道这些信息有多重要。
|
||||
|
||||
如果条件允许的话,最好将材质存储目录一并备份。材质存储目录默认位于 `storage/textures`。
|
||||
|
||||
## 3. 删除以下目录、文件
|
||||
|
||||
- `.htaccess` 文件
|
||||
- `app` 目录
|
||||
- `artisan` 文件
|
||||
- `bootstrap` 目录
|
||||
- `config` 目录
|
||||
- `database` 目录(如果您使用 SQLite 并且数据库文件保存于此,**务必备份!**)
|
||||
- `index.php` 文件
|
||||
- `plugins` 目录(您需要事先记录您安装过哪些插件,并在升级完成后重新在市场上下载并安装它们)
|
||||
- `resources` 目录(如果您曾经自定义过视图或/和语言文件,也应该备份它们)
|
||||
- `routes` 目录
|
||||
- `storage/patches` 目录
|
||||
- `vendor` 目录
|
||||
- `web.config` 文件
|
||||
|
||||
## 4. 下载新版的 Blessing Skin Server,并解压到原网站的目录中
|
||||
|
||||
注意是原网站的目录,不是 `public` 目录。
|
||||
|
||||
## 5. 在终端或 PowerShell 中依次执行以下命令
|
||||
|
||||
```sh
|
||||
php artisan cache:clear
|
||||
php artisan view:clear
|
||||
php artisan migrate --force
|
||||
php artisan bs:migrate-v4:players-table
|
||||
php artisan bs:migrate-v4:closet
|
||||
```
|
||||
|
||||
如果您是从 3.5.0 直接升级到 4.4.0,还需要执行以下命令:
|
||||
|
||||
```sh
|
||||
php artisan jwt:secret
|
||||
php artisan passport:keys
|
||||
php artisan bs:migrate-v4:likes
|
||||
```
|
||||
|
||||
执行以上命令可能会花较长时间(取决于您的网站有多少用户),请耐心等待。
|
||||
|
||||
## 6. 打开浏览器并访问您的网站
|
||||
|
||||
此时页面会提示您进行更新,直接点击「下一步」即可。
|
||||
|
||||
## 7. 完成!
|
||||
|
||||
原来的登录状态可能会失效,重新登录即可。
|
21
man/versions.md
Normal file
21
man/versions.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 版本说明
|
||||
|
||||
目前 Blessing Skin 主要分为这么几个大版本:
|
||||
|
||||
- v1.x
|
||||
- v2.x(稳定)
|
||||
- v3.0.x
|
||||
- v3.x(稳定)
|
||||
- v4.x(稳定、推荐)
|
||||
- v5.x(正在开发中)
|
||||
|
||||
| BS 版本 | PHP 最低要求 | 单用户多角色 | 数据对接 | 皮肤库 & 衣柜 | 插件系统 |
|
||||
| ------- | ------------ | ------------ | -------- | -------- | -------- |
|
||||
| v2.x | 5.4 | 不支持 | 支持 | 不支持 | 不支持 |
|
||||
| v3.x | 5.5.9 | 支持 | 支持 | 支持 | 支持 |
|
||||
| v4.x | 7.1.8 | 支持 | 支持 | 支持 | 支持 |
|
||||
|
||||
如果条件允许的话,推荐您使用最新版本的 Blessing Skin。
|
||||
|
||||
|
||||
|
15
package.json
Normal file
15
package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "blessing-skin-manual",
|
||||
"version": "0.0.0",
|
||||
"repository": "https://github.com/bs-community/blessing-skin-manual",
|
||||
"author": "The Blessing Skin Community",
|
||||
"license": "CC-BY-SA 4.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vuepress dev man",
|
||||
"build": "vuepress build man"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vuepress": "^1.0.3"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user