菜单

维护指南


发布于 2024-10-28 / 4 阅读 / 0 评论 /
更新于2024/9/8 MCSM 账号&面板 面板链接:点击这里

更新于2024/9/8

MCSM

账号&面板

面板链接点击这里

维护账号

账号

密码

备注

Reisen

Brvb8307.

超级管理员

SMP

Brvb8307.

SMP管理

ATM

Brvb8307.

ATM管理

节点

名称

CPU

内存

硬盘1

挂载点

硬盘2

挂载点

7950X

7950X

96GB

4TB

/home/data

256GB

/

13600KF

13600KF

64GB

1TB

/home/data

512GB

/

端口

测试环境自由分配的端口

范围

节点

30000-30029

7950X

30030-30059

13600KF

生产环境暴露的端口

端口

说明

25565

SMP群组

25566

Utopia群组

19132

BE服务器

实例创建要求

概括

  1. 务必本地测试完毕后再服务器上部署实例

  2. 务必将文件目录分配为/home/data/{dir},{dir}为你想要分配的路径

  3. 务必使用虚拟环境,如venv,docker

文件目录分配

  1. 点击新建应用

image-20240908141142047

  1. 默认本地测试好后打包上传服务器,为避免面板自动调的参数问题,选择部署控制台可执行程序

image-20240908141411805

  1. 选择服务器现有目录

image-20240908141524768

  1. 实例名称填你需要的,启动命令按需要来,一般为执行服务器启动脚本,文件目录填/home/data/{dir}{dir}一般与实例名称相同(没有该目录会自动创建,无需mkdir)

image-20240908141855689

  1. 实例创建完毕,点击前往实例控制台

image-20240908142042688

image-20240908142128281

导入服务端包

  1. 点击文件管理

image-20240908142314486

  1. 点击上传文件,上传你的服务端压缩包,务必使用zip格式压缩

image-20240908142515113

  1. 解压文件

image-20240908142554739

选择解压到当前目录,请务必选择合适编码格式:

  • Windows平台下压缩的压缩包——GBK

  • Linux平台下压缩的压缩包——UTF-8

image-20240908142756011

  1. 解压完毕后注意查看启动脚本是否权限正确,确保所有者有可执行权限

image-20240908143020733

可以看到所有者无可执行权限,勾选执行并应用到所有文件

image-20240908143105217

容器运行

  1. 回到实例终端控制台,点击应用实例设置

image-20240908143331242

  1. 点击容器化

image-20240908143403279

  1. 启动docker选择镜像

镜像推荐

版本

镜像

说明

JE 1.20-1.21

pjdk21

此镜像为python+debian+jdk21

JE 1.16-.1.19

pjdk17

此镜像为python+debian+jdk17

JE 1.12-1.15

pjdk11

此镜像为python+debian+jdk11

JE 1.7-1.12

pjdk8

此镜像为python+debian+jdk8

BE

任意pjdk

image-20240908143438956

  1. 配置网络模式

请选择1pabel-network,网络模式运行原理和bridge相同

image-20240908144017672

  1. 配置开放端口

假设服务端配置文件server.propertiesserver-port=30000,则主机端口和容器端口均填写30000

协议:

版本

协议

JE

tcp

BE

udp

image-20240908144104618

image-20240908144114774

image-20240908144132208

  1. 工作目录挂载[可选]

默认情况下,/home/data/{dir}挂在在容器内/workspace处,可按需要调整

事件任务

可配置崩溃自动重启开机自动启动

image-20240908144732077

image-20240908144741168

JVM参数

乱码解决

-Daikars.new.flags=true -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN

GC问题

别调一堆flags了,懒人参数

-XX:+UseZGC

MUA接入

架设服务端(进阶) | Minecraft高校联盟资料站 (mualliance.cn)

-javaagent:authlib-injector-1.2.3.jar=https://skin.mualliance.ltd/api/union/yggdrasil

1PANEL

账号&面板

在你没有了解你正在做什么之前,请不要使用该面板

在你没有了解你正在做什么之前,请不要使用该面板

在你没有了解你正在做什么之前,请不要使用该面板

面板链接

维护账号

账号

密码

说明

AquaOH

Brvb8307

最高管理员

root账号

在你没有了解你正在做什么之前,请不要切换到root账号

在你没有了解你正在做什么之前,请不要切换到root账号

在你没有了解你正在做什么之前,请不要切换到root账号

账号

密码

root

Brvb8307

pip

镜像加速

-i--index-urlpip 的一个选项,用于指定 Python 包的下载源地址(Python 包索引)。默认情况下,pip 会从 Python 官方包管理仓库 PyPI 下载包。

-i https://pypi.tuna.tsinghua.edu.cn/simple

依赖列表

-r requirements.txt

已安装模块列表

pip list

venv

安装pip

apt install pip

安装venv

apt install python3-venv

创建虚拟环境

cd /home/data/ChatBridge
python3 -m venv test_env

-m 是 Python 命令行选项,用于告诉 Python 解释器运行指定模块的命令。通过使用 -m,你可以运行一个模块并将其视为一个脚本,而不是手动指定文件路径。

这条命令会在当前目录下创建一个名为 test_env 的文件夹,其中包含虚拟环境的可执行文件和所需的Python库。

查看下文件结构

root@AQUA13600KF:~# cd /home/data/ChatBridge
root@AQUA13600KF:/home/data/ChatBridge# ls
ChatBridge.pyz  ChatBridge_server.json  logs  start.sh  test_env
root@AQUA13600KF:/home/data/ChatBridge# cd test_env/
root@AQUA13600KF:/home/data/ChatBridge/test_env# ls
bin  include  lib  lib64  pyvenv.cfg
root@AQUA13600KF:/home/data/ChatBridge/test_env# cd bin
root@AQUA13600KF:/home/data/ChatBridge/test_env/bin# ls
Activate.ps1  activate  activate.csh  activate.fish  pip  pip3  pip3.11  python  python3  python3.11

激活虚拟环境

root@AQUA13600KF:/home/data/ChatBridge# source ./test_env/bin/activate
(test_env) root@AQUA13600KF:/home/data/ChatBridge#

可以看到,命令行的提示符前面会出现括号,里面是虚拟环境名称。

安装包

虚拟环境启用后,就可以使用pip命令来安装需要的包

(test_env) root@AQUA13600KF:/home/data/ChatBridge# pip3 install mcdreforged -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
...
(test_env) root@AQUA13600KF:/home/data/ChatBridge#

在Linux系统上,安装的包放在./test_env/lib/pythonx.x/site-packages 目录下

使用包

安装后,可以在命令行执行python 命令,进入Python交互式环境,然后import 安装的包,如果不报错,就说明安装成功了

(test_env) root@AQUA13600KF:/home/data/ChatBridge# pip3 list
Package            Version
------------------ ---------
certifi            2024.8.30
charset-normalizer 3.3.2
colorama           0.4.6
colorlog           6.8.2
idna               3.8
mcdreforged        2.13.1
packaging          24.1
parse              1.20.2
pip                23.0.1
prompt_toolkit     3.0.47
psutil             6.0.0
requests           2.32.3
resolvelib         1.0.1
ruamel.yaml        0.18.6
ruamel.yaml.clib   0.2.8
setuptools         66.1.1
typing_extensions  4.12.2
urllib3            2.2.2
wcwidth            0.2.13
(test_env) root@AQUA13600KF:/home/data/ChatBridge# python
Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mcdreforged
>>>

退出虚拟环境

deactivate

容器内使用

及时更新Path

#!/bin/bash
source ./test_env/bin/activate  # 激活虚拟环境
chmod +x ./test_env/bin/pip
chmod +x ./test_env/bin/python
export PATH="/workspace/test_env/bin:$PATH"
python -m mcdreforged  # 在虚拟环境中运行命令

Docker

Docker加速

nano /etc/docker/daemon.json
{
        "registry-mirrors": [
    "https://docker.1panelproxy.com",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
        ]
}

命令

Docker常用命令大全(非常详细)零基础入门到精通,收藏这一篇就够了-CSDN博客

img

run

docker run 命令常用参数详解 - 明月, - 博客园 (cnblogs.com)

DockerFile

【自定义镜像—Dockerfile完全指南】常用的十三种dockerfile指令及构建Tomcat镜像例子_tomcat dockerfile-CSDN博客

docker入门(八)—— dockerfile详细介绍,编写dockerfile-CSDN博客

FROM         # 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER   # 镜像维护者的姓名混合邮箱地址
RUN          # 容器构建时需要运行的命令
EXPOSE       # 当前容器对外保留出的端口
WORKDIR      # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
ENV          # 用来在构建镜像过程中设置环境变量
ADD          # 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY         # 类似ADD,拷贝文件和目录到镜像中!
VOLUME       # 容器数据卷,用于数据保存和持久化工作
CMD          # 指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有最后一个生效!
ENTRYPOINT   # 指定一个容器启动时要运行的命令!和CMD一样
ONBUILD      # 当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的ONBUILD被触发

# 基础镜像 基础debian环境
FROM ustclug/debian:12.2

# 维护者
MAINTAINER aquaoh<aquaoh@outlook.com>

# 配置环境
ENV MIRROR https://pypi.tuna.tsinghua.edu.cn/simple

# 更新包索引,安装 Python 和 OpenJDK 21
RUN apt-get update && apt-get install -y \
    ca-certificates \
    python3 \
    python3-pip \
    python3-venv \
    wget && \
    wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb && \
    dpkg -i jdk-21_linux-x64_bin.deb || apt-get install -f -y && \
    rm jdk-21_linux-x64_bin.deb && \
    apt-get clean

# 配置 Python 包镜像源
RUN pip3 config set global.index-url $MIRROR

# 创建一个符号链接使得 'python' 命令指向 'python3'
RUN ln -s /usr/bin/python3 /usr/bin/python

# 配置 Java 环境变量
RUN echo "export JAVA_HOME=/usr/java/jdk-21.0.2" >> /etc/profile && \
    echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile




是否对你有帮助?