Go to file
2019-03-13 22:25:08 +08:00
.circleci Fix CI 2019-03-02 22:30:39 +08:00
.github Update links 2018-11-25 15:12:53 +08:00
app Enable tinker 2019-03-13 22:25:08 +08:00
bootstrap Apply fixes from StyleCI (#11) 2019-03-02 22:58:37 +08:00
config Remove feedback 2019-03-12 20:51:46 +08:00
database Rename column player_name to name 2019-03-13 13:16:51 +08:00
plugins
public Apply fixes from StyleCI (#11) 2019-03-02 22:58:37 +08:00
resources Rename column player_name to name 2019-03-13 13:16:51 +08:00
routes Apply fixes from StyleCI (#11) 2019-03-02 22:58:37 +08:00
scripts update webpack-related 2019-02-19 17:26:38 +08:00
storage Remove unused file [skip ci] 2019-03-02 22:28:13 +08:00
tests Rename column player_name to name 2019-03-13 13:16:51 +08:00
.browserslistrc Update Babel config 2018-09-24 10:36:08 +08:00
.editorconfig
.env.example update version in env files 2019-02-18 17:16:13 +08:00
.env.testing update version in env files 2019-02-18 17:16:13 +08:00
.eslintignore Update outdated .eslintignore 2018-09-29 20:59:42 +08:00
.eslintrc.yml update eslint-plugin-vue 2019-02-19 18:17:40 +08:00
.gitignore Update .gitignore 2019-03-12 17:15:51 +08:00
artisan
babel.config.js Update Babel config 2018-09-24 10:36:08 +08:00
composer.json Remove settings of preference (#8) 2019-03-02 21:13:17 +08:00
composer.lock Remove settings of preference (#8) 2019-03-02 21:13:17 +08:00
LICENSE
package.json fix dep security issue 2019-02-28 14:15:51 +08:00
phpunit.xml ignore coverage of artisan commands 2019-02-28 19:14:11 +08:00
postcss.config.js
README_EN.md update readme [skip ci] 2019-02-28 14:22:18 +08:00
README.md update readme [skip ci] 2019-02-28 14:22:18 +08:00
server.php Apply fixes from StyleCI (#16) 2019-03-12 17:21:29 +08:00
web.config
webpack.config.js update webpack-related 2019-02-19 17:26:38 +08:00
yarn.lock fix dep security issue 2019-02-28 14:15:51 +08:00
zip.txt some tweaks 2019-02-18 09:37:44 +08:00

Circle CI Status Codecov Latest Stable Version PHP 7.1.8+ License Twitter Follow

NOTE: The code of the current branch is of Blessing Skin v4.

Are you puzzled by losing your custom skins in Minecraft servers runing in offline mode? Now you can easily get them back with the help of Blessing Skin!

Blessing Skin is a web application where you can upload, manage and share your custom skins & capes! Unlike modifying a resource pack, everyone in the game will see the different skins of each other (of course they should register at the same website too).

Blessing Skin is an open-source project written in PHP, which means you can deploy it freely on your own web server! Here is a live demo.

Features

  • A fully functional skin hosting service
  • Multiple player names can be owned by one user on the website
  • Share your skins and capes online with skin library!
  • Easy-to-use
    • Visual page for user/player/texture management
    • Detailed option pages
    • Many tweaks for a better UI/UX
  • Security
    • Support many secure password hash algorithms
    • Email verification for registration (available as plugin)
    • Score system for preventing evil requests
  • Incredibly extensible
    • Plenty of plugins available
    • Integration with Authme/CrazyLogin/Discuz
    • Support custom Yggdrasil API authentication

Requirements

Blessing Skin has only a few system requirements. In most cases, these PHP extensions are already enabled.

  • Web server with URL rewriting enabled
  • PHP >= 7.1.8 (use v2.x branch if your server doesn't meet the requirements)
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • GD PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • fileinfo PHP Extension

Quick Install

  1. Download our latest release, extract to where you like to installed on.
  2. Rename .env.example to .env and configure your database information. (For windows users, just rename it to .env., and the last dot will be removed automatically)
  3. For Nginx users, add rewrite rules to your Nginx configuration
  4. Navigate to http://your-domain.com/setup in your browser. If 404 is returned, please check whether the rewrite rules works correctly.
  5. Follow the setup wizard and your website is ready-to-go.

Plugin System

Blessing Skin provides an elegant and powerful plugin system, and you can attach plenty of functions and customization to your site via installing plugins.

For more information, please refer to Wiki - Introducing plugin system.

Developer Install

If you'd like make some contribution on the project, please deploy it from GitHub first.

You'd better have some experience on shell operations to continue.

Please make sure you have installed the tools below:

Clone the code from GitHub and install dependencies:

git clone https://github.com/bs-community/blessing-skin-server.git
cd blessing-skin-server
composer install
yarn

Build the things!

yarn build

Congrats! You made it. Next, please refer to No.2 of Quick Install section.

Configure the Web Server

For Apache (most of the virtual hosts) and IIS users, there is already a pre-configured file for you. What you need is just to enjoy!

For Nginx users, please add the following rules to your Nginx configuration file:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ /\.env {
    deny all;
}

Mod Configuration

Please refer to Wiki - Mod Configuration.

screenshot

Report Problems

Read Wiki - FAQ and double check if your situation doesn't suit any case mentioned there before reporting.

When reporting a problem, please attach your log file (located at storage/logs/laravel.log) and the information of your server where the error occured on. You should also read this guide before reporting a problem.

Copyright 2016-2019 printempw and contributors.

Blessing Skin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3.

Exception: Any plugin developed for Blessing Skin, is not required to adopt GPLv3 License nor release its source code, provided no source code from Blessing Skin is contained in the plugin.