Go to file
2016-02-05 22:25:48 +08:00
admin custom config 2016-02-05 22:21:06 +08:00
assets Great! fully Chinese supported 2016-02-05 22:08:06 +08:00
includes Great! fully Chinese supported 2016-02-05 22:08:06 +08:00
libs adjusted style and fixed some bugs 2016-02-04 23:49:31 +08:00
user fixed missing translation 2016-02-05 22:25:22 +08:00
.gitignore ignore textures update 2016-01-22 16:05:18 +08:00
ajax.php Great! fully Chinese supported 2016-02-05 22:08:06 +08:00
config.php custom config 2016-02-05 22:21:06 +08:00
get.php supported skin storage for both steve and alex model 2016-02-05 15:56:17 +08:00
index.php Great! fully Chinese supported 2016-02-05 22:08:06 +08:00
LICENSE Initial commit 2016-01-03 14:01:02 +08:00
README_en-US.md Great! fully Chinese supported 2016-02-05 22:08:06 +08:00
README.md Great! fully Chinese supported 2016-02-05 22:08:06 +08:00

Blessing Skin Server

优雅的开源 PHP Minecraft 皮肤站。Live demo

screenshot

Features:

  • Support latest UniSkinAPI
  • Support CustomSkinLoader API
  • Also support legacy link to access image directly
  • Nothing else...

Installation:

  1. Configure your database information in config.php
  2. Run ./admin/install.php
  3. Configure your rewrite rules in your nginx.conf
  4. Register or login with admin/123456
  5. Upload your skin/cape
  6. Configure your url in UniSkinMod.cfg of Minecraft client
  7. Enjoy~

Server configure:

Add rewrite rules to your nginx.conf:

rewrite ^/([^/]*).json$ /get.php?type=json&uname=$1 last;
rewrite ^/(skin|cape)/([^/-]*)(|-)(|alex|steve).png$ /get.php?type=$1&model=$4&uname=$2 last;
# Optional
rewrite ^/(usm|csl)/([^/]*).json$ /get.php?type=json&uname=$2&api=$1 last;
rewrite ^/(usm|csl)/textures/(.*)$ /textures/$2 last;

You can also use optional rewrite rules to support both CustomSkinLoader API & UniSkinAPI.

If you installed the skin server to subdirectory, you should configure the rules as this:

rewrite ^/subdir/([^/]*).json$ /subdir/get.php?type=json&uname=$1 last;

Now you can access http://example.com/username.json to get your json profile of your preferred API. Another API is also available http://example.com/(usm|csl)/username.json.

After uploading skins, you can also access http://example.com/skin/username.png for prefered model's skin image or http://example.com/cape/username.png for cape. Secondary model's texture is available on http://example.com/skin/username-(alex|steve).png.

Client configure:

For UniSkinMod version >= 1.3

Put your root directory of skin server( like /path/to/root above ) into your /config/UniSkinMod.cfg of Minecraft client

Sample:

# Line starts with '#' is a commit line
# Line starts with 'Root: ' indicates a server
# All servers will be queried in that order.
# Server in front has higher priority
# Official server has the lowest priority
# No more legacy style link support!

# SkinMe Default
Root: http://www.skinme.cc/uniskin
# Your Server
Root: http://example.com

For UniSkinMod version < 1.3 or other

Also put your url into /config/UniSkinMod.cfg, but you need to fill 2 urls for skin and cape

Sample:

Version: 1
# Do not edit the line above

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

FAQ

If everything works well, you will get an awesome skin in game:

screenshot2

And the log will be like this:

[16:23:56] [launcher/INFO] [UniSkinMod]: Loading configuration ... @D:\Minecraft\1.8\.minecraft\config\UniSkinMod.cfg
[16:23:56] [launcher/INFO] [UniSkinMod]: Root Url Added: http://127.0.0.1/blessing-skin-server

[16:24:23] [Client thread/INFO] [UniSkinMod]: Filling profile for player: 621sama
[16:24:23] [Client thread/INFO] [UniSkinMod]: Fetching URL: http://127.0.0.1/blessing-skin-server/621sama.json
[16:24:23] [Client thread/INFO] [UniSkinMod]: Player Skin Selected: 621sama default 3f14a21723023642b9e8d2bc008b443780698aaedbb7d4e29960e8a2c754a771
[16:24:23] [Client thread/INFO] [UniSkinMod]: Player Cape Selected: 621sama aed8c3fc67aae4906b72fa74c27e15866c89752f0838f6b2a1c44bb4d59cec1e

If not, please check your log to locate where error occured.