准备工具很简单:
服务器
服务器我们可以使用阿贝云的服务器
- LEMP环境:
- Linux服务器:Debian、CentOS都可以。极其不推荐使用Windows Server。
- Nginx/Apache:推荐使用Nginx环境
- MySQL/MariaDB:可以使用Linux服务器自己搭建,也可以直接买现成的。
- PHP:PHP版本推荐7以上,本文使用PHP7.4
2. Minecraft服务器端:如果没有搭建MC服务器,参考:
为了照顾小白用户,本文提供两个思路搭建:
- 宝塔搭建【推荐小白】:可视化部署LEMP环境,并可视化部署皮肤站和外置登录
- 编译安装【推荐老手】:编译安装LEMP环境,并命令后操作部署皮肤站和外置登录
部署网站
以下方法,二选一嗷:
Opt1:宝塔面板
如果你是宝塔部署的LEMP环境:
宝塔部署LEMP环境
那么需要注意,到宝塔的软件商店内激活函数:
- symlink
- readlink
- putenv
- realpath
删除->激活函数
并安装fileinfo的扩展(如果你的服务器内存小于2G安装不上,可以去添加Swap):
安装fileinfo
之后,到网站选项卡内,添加网站:
添加网站
并上传BlessingSkin(https://github.com/bs-community/blessing-skin-server/releases)的发行版本到网站内解压:
解压后效果
之后,设置伪静和主页即可:
设置伪静和root
location / {
try_files $uri $uri/ /index.php?$query_string;
}
剩下的,可以看看初始化部分嗷。
Opt2:编译部署
这里的编译部署,其实主要是编译Nginx和PHP以及MariaDB/MySQL。其实,我之前的视频基本有演示,比如:树莓派上Linux编译安装PHP、Nginx并搭建_h5ai。
但是,需要注意⚠️:
- BlessingSkin需要PHP的gd依赖,而gd里需要freetype的支持,需要我们提前编译freetype并添加到pkg变量内。
./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
PHP编译参数
最后,不要忘记设置Nginx:
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
当然,还有root地址。这里就不演示了嗷(博客图文可以了解一下)。
初始化BlessingSkin
如果LEMP部署正常,BlessingSkin的包也正常,就可以初始化了。Terminal进入BlessingSkin的网站目录,执行(宝塔似乎不用执行初始化,挺奇怪的……):
cp .env.example .env
/usr/local/php7/bin/php artisan key:generate
之后,进入网站,即可访问:
访问网站
这个时候,需要填个MySQL或者MariaDB了,宝塔用户可以到数据库选项卡内创建,编译用户……既然都会编译了,数据库创建应该不用我说吧……
初始化成功,我们登入网站,就可以准备外置登录了。
外置登录
使用外置登录,服务器的 online-mode记得设置为 true哦~
接下来,我们使用Yggdrasil API来外置登录。
1. 皮肤站上操作
首先,我们需要配置我们的皮肤站(其实,说是皮肤站,倒像是个百宝箱),之后选择管理面板:
管理面板
之后,选择插件市场:
安装插件
安装好插件后,我们进入插件管理,勾选插件,之后,会出现小齿轮⚙️,我们 点击就可以进入这个插件的管理面板,记住API Root中的Yggdrasil API地址,这个就是我们外置登录的验证地址:
外置登录地址
2. 服务器上操作
其次,我们需要设置我们的 Java Minecraft服务器的启动命令,先下载最新版本的authlib-injector.jar,下载地址:
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=http://URL LoliServer-1.16.5-89-server.jar
其中:
- authlib-injector-1.1.39.jar:这个需要替换为你刚刚下载的authlib-injector版本。
- http://URL:为上文Yggdrasil API地址。
服务器也是可以正常启动的。
3. 客户端上操作
最后,我们到客户单上设置,以HCML为例,我们打开HMCL后,在登录里选择外置登录:
外置登录
添加的内容:
- 验证服务器:我们的Yggdrasil API地址
- 用户名:我们自己皮肤站上注册的用户
- 密码:我们自己皮肤站上……
这样,就可以看见自己的角色了(皮肤站上,事先要创建一个角色嗷):
添加成功
这样,我们就可以类似正版登录一样,进入我们刚刚的服务器了嗷~~
END
外置登录和皮肤站就是这么简单,有什么问题,欢迎评论区留言嗷。