整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Minecraft个人服务器搭建我的世界皮肤站实现自

Minecraft个人服务器搭建我的世界皮肤站实现自定义皮肤组件

家好,我是艾西有不少小伙伴非常喜欢我的世界Minecraft游戏,今天小编跟大家分享下Minecraft个人服务器怎么设置皮肤站。

Minecraft皮肤站是什么?其实官网就有皮肤站,在正版用户选择正版的登录后,MC客户端就会到官方皮肤站内下载用户的皮肤。而外置登录,就是用户在没有正版账号的情况下,使用自己的账号验证,达到用户验证的目的。

(所有操作教程必须在服务器内操作实现!!!)

适用于:Java版本Minecraft:包括Spigot、官方版本Minecraft、Forge等。

皮肤:本次教程使用 blessing-skin-server作为皮肤站,也是LittleSkin的开源社区版本。

(本文中http、https、www、com等前缀后缀均以 “x”代替遵守平台规则)

实现效果:

用户角色皮肤管理

(选择皮肤激活)

你还可以安装很多插件,实现邀请码注册、外置登录等等功能

外置登录:基于皮肤站使用Yggdrasil API实现外部登录

外置登录选项角色

最终效果:实现的效果是搭建一个网站,用户可以注册账号,并登录系统进行皮肤的上传、下载以及激活皮肤为角色皮肤。皮肤站和外置登录配合达到和正版登录一样的效果:

允许用户注册账号

允许用户上传和自定义自己游戏皮肤

并且方便服务器管理者规范玩家行为(防止用户频繁换“马甲”)

准备工具

服务器一台拥有固定IP及稳定的网络环境,操作系统Debian、CentOS都可以。不推荐使用Windows Serve

Nginx/Apache:推荐使用Nginx环境

PHP:PHP版本推荐7以上(最新皮肤站需要PHP8)

Minecraft服务器端:如果没有搭建MC服务器可在小编主页搜我的世界查询搭建教程

服务器选择:根据自己个人的使用途径去选择适合自己的服务器,个人玩家云机器 4H8G。对游戏整体的画质以及操作流畅度有要求对外开放的建议I9系列物理服务器(独享资源)

服务器系统选择:Debian/Ubuntu

(因windows暂用资源会大些对服务器整体的性能不能发挥到极致)

重置服务器

方法一:宝塔搭建【推荐小白】:可视化部署LEMP环境,并可视化部署皮肤站和外置登录操作。

如果不会操作宝塔的百度一下,宝塔搭建Ngiinx、PHP和MariaDB/MySQL很简单一键安装部署可视化搭建:

BlessingSkin需要启用一些PHP函数,但是宝塔面板默认是禁用的,需要在宝塔面板内删除选项:


需要启用的函数:symlink、readlink、putenv、Realpath

安装扩展:fileinfo

搭建BlessingSkin

现在正式开始搭建,在宝塔的网站选项,新建一个网站:


域名:有域名解析到服务器填入你自己的域名即可;没有的话就填IP。

PHP版本:选择PHP7.4、8.x(6.0以上版本Blessing需要使用PHP8.x)

之后,进入网站根目录,下载并解压最新版本的BlessingSkin 上传到网站根目录

到网站设置内:追加:/public

添加伪静态:

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

上传到网站根目录之后,就可以访问网站了:


创建数据库:

刚刚有安装MySQL,这里添加一个MySQL数据库,数据库名称已经密码随自己设置,大家在设置的时候记得自己备注记下来

方法二编译安装【推荐大神】:编译安装LEMP环境,并命令后操作部署皮肤站和外置登录

Nginx源码编译安装复杂一些,首先下载Nginx1.20.1的源码下载,下载到Nginx的/usr/local/src内,并解压进入:依次输入以下命令

cd /usr/local/src
wget 'xxxx://nginx.org/download/nginx-1.20.1.tar.gz'
tar -xf nginx-1.20.1.tar.gz
cd nginx-1.20.1

编译环境:按需求需要SSL、gzip、正则库等依赖

开始安装一下依赖:(根据自己的服务器系统去选择以下命令输入)
sudo apt-get install build-essential(# 安装GCC)
sudo apt-get install libpcre3 libpcre3-dev(# 安装正则库)
sudo apt-get install zlib1g-dev(# 安装gzip lib)
sudo apt-get install openssl libssl-dev (# 支持OpenSSL)

示例的操作教程是安装的:sudo apt-get install openssl libssl-dev

预编译:首先,我们想要把Nginx以www:www用户运行,所以我这里创建一个www用户,附属于www用户组:(依次输入以下命令)

sudo useradd www (创建一个www用户)
sudo groupadd www(创建一个www用户组)
sudo usermod -a -G www www( www用户归属于www用户组)

之后,开始预编译:复制下方代码回车

/configure \
--prefix=/usr/local/nginx \
--user=www \
--group=www \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module

预编译完成,如果你并没有通过,记得重新配置依赖。

开始编译和安装:输入以下命令

make -j32 (根据服务器核心数填写J后面数值,例服务器是32核,所以-j32)
make install (编译完成,进行安装)

注册服务:如果你是按照我的操作步骤进行编译操作的

那么需要创建一个日志目录:输入以下命令

sudo mkdir /var/cache/nginx (# 创建日志目录)

为方便启动,注册服务为:输入以下命令

vim /usr/lib/systemd/system/nginx.service

添加内容:输入以下命令

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload

最后启动即可:依次输入以下命令

systemctl daemon-reload

systemctl start nginx.service

lsof -i:80

PHP安装编译:

PHP会比较麻烦,主要是依赖问题,根据Blessing Skin安装指南,我们需要PHP支持:

OpenSSL、PDO、Mbstring、Tokenizer、GD、XML、Ctype、JSON、fileinfo、zip

主要是GD模块,需要很多额外参数,尤其是freetype参数,所以这里编译需要注意。

下载PHP源码:下载PHP7.4的源码到/usr/local/src下:依次输入以下命令

cd /usr/local/src

wget 'xxxxx://xxx.php.net/distributions/php-7.4.22.tar.gz'
tar -xf php-7.4.22.tar.gz

编译依赖 Debian/Ubuntu操作系统

需要支援Nginx和MariaDB/MySQL,同时支持gd等模块 依次输入以下命令:

sudo apt-get install pkg-config (# 安装pkg-config)
sudo apt-get install openssl libssl-dev (# OpenSSL的支持)
sudo apt-get install libsqlite3-dev (# SQL支持)
sudo apt-get install zlib1g-dev (# zlib)
sudo apt-get install libcurl4-openssl-dev (# OpenSSL支持)
sudo apt-get install libpng-dev libjpeg-dev libonig-dev (# GD辅助依赖)

之后,编译安装:libxml2、freetype。
并把freetype编译安装地址下的lib/pkgconfig添加到pkg内,如:

# Freetype
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig/

CentOS系统:
首先是编译安装oniguruma,并配置到pkg内,如:

# Freetype
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig/

之后用软件包管理器安装:输入以下命令

sudo yum install libxml2 libxml2-devel (# XML 库)
sudo yum install pcre pcre-devel (# 正则库)
sudo yum install sqlite3-devel (# SQL 库)
sudo yum install libcurl-devel libpng-devel libjpeg-devel (#lib)
sudo yum install freetype-devel (# GD 依赖)

PHP预编译:输入以下命令

./configure \
--prefix=/usr/local/php7 \
--with-curl \
--with-mysqli \
--with-openssl \
--with-pdo-mysql \
--with-jpeg \
--enable-gd \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-bcmath \
--enable-xml \
--with-zip \
--enable-mbstring \
--enable-sockets \
--with-zlib \
--enable-fileinfo \
--enable-exif \
--with-freetype

如果你并没有通过,记得重新配置依赖尤其是freetype和libxml2

全部没问题后开始编译和安装:输入以下命令

make -j32 (根据服务器核心数填写J后面数值,例服务器是32核,所以-j32)
make install (编译完成,进行安装)

注册服务

根据教程步骤操作的小伙伴需要PHP-FPM配置文件:输入命令

sudo mv/usr/local/php7/etc/php-fpm.conf.default/usr/local/php7/etc/php-fpm.conf

sudo mv/usr/local/php7/etc/php-fpm.d/xxx.conf.default/usr/local/php7/etc/php-fpm.d/www.conf

注册服务为:

sudo vim /usr/lib/systemd/system/php-fpm.service

添加内容:

[Unit]
Description=php-fpm
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
PrivateTmp=true

[Install]
WantedBy=multi-user.target

最后启动即可:输入一下代码

systemctl daemon-reload

systemctl start php-fpm. service

lsof -i: 9000

搭建下载BlessingSkin

首先,创建一个目录,作为网站目录:

mkdir /www/BlessingSkin -pv
cd /www/BlessingSkin

之后,下载BlessingSkin的发行版本,选择安装6.0.0-beta.3:

Wget'xxxxx://github.xxx/bs-community/blessing-skin-server/releases/download/6.0.0-beta.3/blessing-skin-server-6.0.0-beta.3.zip'

解压即可:

unzip blessing-skin-server-6.0.0-beta.3.zip


安装官网要求需要重命名和初始化:输入以下代码

cp .env.example .env
/usr/local/php7/bin/php artisan key:generate (初始化)

配置Nginx

vim /usr/local/nginx/nginx.conf

查看:输入以下代码

user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
root /www/BlessingSkin/public;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location=/50x.html {
root html;
}
# php-fpm配置
location ~ [^/]\.php(/|$){
# try_files $uri=404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}
}

3. 提权&重载配置

刚刚都是用root用户直接修改文件,现在把网站目录权限移交给www:

chown www:www /www -R

重载配置:systemctl reload nginx

浏览器访问网站,即可看到效果:

到这里我们就已经搭建好BlessingSkin,接下来就是初始化了,点击下一步,进入初始化参数界面:


输入完数据库,让你设置管理员 按步骤操作

进行访问即可使用皮肤站了

总结:编译安装大神适用的方式其实以上步骤操作就是自己安装编译Nginx和PHP在这个过程中全部部署好在服务器后下载BlessingSkin搭建一下即可。个人建议是用宝塔会方便快捷很多,喜欢大神操作的对于Nginx和php可自行深入研究

外置登录:使用外置登录,服务器的online-mode记得设置为true

接下来,使用Yggdrasil API来外置登录皮肤站上操作

首先需要配置搭建好的皮肤站(其实,说是皮肤站,倒像是个百宝箱),之后选择管理面板:

管理面板
进入管理面板后,选择插件市场有很多插件大家自行安装


安装好插件后进入插件管理,勾选插件:

会出现小齿轮点击就可以进入这个插件的管理面板:


记住API Root中的Yggdrasil API地址,这个就是外置登录的验证地址:

外置登录地址服务器上操作

其次需要设置Java Minecraft服务器的启动命令,先下载最新版本的authlib-injector.jar

下载地址:authlib-injector:xxxxx://authlib-injector.yushi.moe/

authlib-injector下载

之后回到Minecraft的启动界面,如果你之前的Minecraft服务器启动命令是:java -jar -Xms1024M -Xmx5120M LoliServer-1.16.5-89-server.jar

那么,加上authlib-injector验证就是:

java -jar -Xms1024M -Xmx5120M -javaagent:authlib-injector-1.1.39.jar=xxxx://URL LoliServer-1.16.5-89-server.jar

服务器也是可以正常启动的:

客户端上操作

最后到客户单上设置,以HCML为例,打开HMCL后,在登录里选择外置登录:

最后应有的步骤流程:

1、验证服务器:我们的Yggdrasil API地址

2、用户名:我们自己皮肤站上注册的用户

3、密码:xxxxxxxxxx

这样,就可以看见自己的角色了(皮肤站上,事先要创建一个角色 ):

到这里我们今天的分享就结束啦希望对有需要的小伙伴有帮助

我是驰网艾西 拥有一台服务器可以做很多有趣的事情!

前端最全的5种换肤方案总结:打造个性化的用户体验之旅

### **引言:为什么换肤功能至关重要**

随着Web应用逐渐重视用户体验设计,前端页面的个性化定制愈发重要。换肤功能作为一种增强用户参与感和满意度的有效途径,让访问者可以根据个人喜好调整界面风格。本文将深入探讨五种前沿且广泛应用的前端换肤方案,每一种方案都有详细的原理介绍及实战代码演示,助您轻松应对各种场景下的前端换肤需求。

### **方案一:CSS自定义属性(CSS Variables)**

#### **1.1 CSS Variables基础**

CSS Variables允许开发者定义全局或局部的样式变量,从而实现动态更换皮肤颜色。

```html

<!DOCTYPE html>

<html lang="en">

<head>

<style>

:root {

--main-color: #1abc9c;

--secondary-color: #ecf0f1;

}

body {

background-color: var(--main-color);

color: var(--secondary-color);

}

</style>

</head>

<body>

...

</body>

</html>

```

#### **1.2 利用JavaScript动态更新CSS Variables**

通过JavaScript更改根元素上的CSS变量值,进而实现一键换肤:

```javascript

document.documentElement.style.setProperty('--main-color', '#3498db');

document.documentElement.style.setProperty('--secondary-color', '#bdc3c7');

```

### **方案二:CSS主题文件切换**

#### **2.1 主题样式表切换**

创建多个CSS主题文件,通过JavaScript切换 `<link>` 标签指向的不同CSS文件实现换肤:

```html

<button onclick="changeTheme('dark')">切换到深色主题</button>

<script>

function changeTheme(themeName) {

let linkElement=document.querySelector('#theme-css');

linkElement.href=`themes/${themeName}.css`;

}

</script>

<!-- 默认引入浅色主题 -->

<link id="theme-css" rel="stylesheet" href="themes/light.css">

```

### **方案三:Less / Sass 预处理器**

#### **3.1 Less / Sass 变量和Mixins**

使用预处理器定义主题色彩变量,并在样式中引用:

```less

// Less 文件

@main-color: #ff5e14;

body {

background-color: @main-color;

}

// 更改主题时只需更改变量值

@main-color: #2ecc71;

```

#### **3.2 编译多主题CSS**

通过构建工具(如Gulp、Webpack)在构建阶段生成不同主题的CSS文件。

### **方案四:JavaScript 动态样式注入**

#### **4.1 动态DOM样式修改**

遍历DOM树,针对具有特定数据属性(例如 `data-theme`)的元素直接修改其样式:

```html

<div data-theme="background">...</div>

<script>

const newColor='#2980b9';

document.querySelectorAll('[data-theme]').forEach((el)=> {

el.style.backgroundColor=newColor;

});

</script>

```

#### **4.2 类名切换法**

利用CSS类名切换,配合JavaScript添加/移除类名实现换肤:

```html

<body class="theme-default">...</body>

<style>

.theme-light { background-color: #f9f9f9; }

.theme-dark { background-color: #333; }

</style>

<script>

function switchTheme() {

const body=document.body;

if (body.classList.contains('theme-light')) {

body.classList.remove('theme-light');

body.classList.add('theme-dark');

} else {

// 切换回默认或其他主题

}

}

</script>

```

### **方案五:基于JSON配置的动态换肤**

#### **5.1 JSON主题配置**

存储主题信息于JSON文件中:

```json

{

"theme": {

"backgroundColor": "#F0F0F0",

"textColor": "#333",

"linkColor": "#007BFF"

}

}

```

#### **5.2 从JSON加载并应用主题**

通过Ajax请求获取JSON配置,然后根据数据动态生成CSS规则:

```javascript

fetch('themes/current_theme.json')

.then(response=> response.json())

.then(data=> {

const style=document.createElement('style');

const rules=Object.entries(data.theme).map(([prop, value])=> {

return `${prop}: ${value};`;

}).join('');


style.textContent=`

body { ${rules} }

/* 其他元素样式 */

`;


document.head.appendChild(style);

});

```

### **结语:选择适合的换肤方案**

以上五种前端换肤方案各有优劣,具体选用哪一种取决于项目的具体需求、现有技术栈以及对性能优化的考量。无论采用何种方式,始终要关注用户体验,确保换肤过程流畅自然。持续学习和尝试新技术,我们就能打造出更加贴合用户喜好的前端产品,从而提高用户黏性和满意度。

BP Freqsep Control for Mac是运行在Photoshop上的美容磨皮修饰插件,NBP Freqsep Control插件可以具备皮肤修饰、低频层的边缘保持分离、高频层的无缝应用等实用的功能,轻松修饰您的图像。

NBP Freqsep Control插件介绍

适用于Adobe Photoshop CC和更新版本的NBP Freqsep Control。

如果您熟悉在修饰工作流程中使用频率分离的过程,那么您可能会意识到 - 并且感到沮丧 - 缺乏完全控制以及使用它时获得的平均结果。虽然该方法仍然是皮肤修饰的主食,但在Photoshop中设置它的核心方法已经或多或少地保持一段时间了,并且被接受。

频率分离的基本前提是在Photoshop中创建分别操作基色和纹理的能力,从而使您可以控制完美的肤色而不会消除皮肤纹理。在纸面上,这听起来很不错。https://mac.orsoon.com/Mac/163593.html对于许多修图师来说,这种方法的发现最初是令人兴奋的,然后由于经典频率分离设置过程的限制而最终令人沮丧。

然后在处理过滤器和设置中涉及的其他功能时添加工作流程减速,并且频率分离成为必要的恶魔,或许,但让你对结果感到有些不满。

如果你能有什么多一点的控制,都在同一个面板,并取得更好的效果?也许您对修饰有更高的要求,并且总是希望加强它。接受并实施其他人所做的事情只会让你到目前为止。这就是Freqsep Control的用武之地。

NBP Freqsep Control for mac功能特点

高端修饰的终极控制
- 设置半径(模糊/平滑)和细节阈值(边缘保留),在Photoshop内作为扩展面板,在直观,高效的用户界面中根据您的首选外观,图像分辨率和工作流程进行定制
- 专有的32位边缘保留和模糊算法质量高,处理速度更快
- 与Photoshop中的典型频率分离方法相比,纹理保留更多,这可以让您在- 完善过渡时获得更多自由
- 最大限度地减少频率分离设置中常见的晕圈问题
- 允许您在分割视图中预览基本(低频)和细节(高频)结果,或在申请前单独预览,以确保获得所需的结果
- 选择让面板重复或吸收工作层
- 比传统的频率分离过程设置更快
- 最多可保存4个预设,以实现高效的多工作流程

https://mac.orsoon.com/Mac/163593.html

最完美的纹理保存,具有最平滑的结果,全部具有绝对控制。

- 插件解决方案

利用专有算法(模糊和边缘检测)扩展到其他插件面板之外,这些算法比Photoshop内置的算法更快,质量更高。

- 活动预览

根据实时设置查看低频和高频层的结果。

根据您的偏好或文件的理想参数即时调整设置。

- 低频层的边缘保持分离

Blazing快速实现专有边缘保留(细节阈值)与高频去除/平滑(半径)结合

比Photoshop的表面模糊和传统上用于频率分离的高斯模糊更快,更平滑,更高质量。

同时主动调整两个参数,以定制您需要和想要的精确频率分离类型。

为低频层拨打更多平滑(模糊),同时详细预览以避免在高对比度过渡附近过度晕圈。

- 高频层的无缝应用

比传统的频率分离保留了更多的纹理。

提供自由,可以在纹理下更加强烈地添加颜色,以平滑过渡而不会牺牲它。

- 适用于您现有的频率分离工作流程

无论您是喜欢直接修改低层还是高层(高温下修复,低调混合器刷等)或在低层和高层之间添加颜色而不直接修改它们,您的频率分离工作流程将保持不变不变。

- HTML5原生Photoshop UI面板

为有效的工作流程而构建的直观,高效,易于理解的用户界面。

- 多线程和矢量化代码

实现算法是为了利用现代CPU实现实时体验。

- 内部32位计算

适用于8位,16位和32位图像。

减少伪影,减少量化。