Minecraft服务器源码跟踪(2).运行服务器
我的世界原版服务器启动分析(2).启动服务器实例
Minecraft服务器源码跟踪(1).启动服务器
我的世界原版服务器启动分析
Linux-后台进程常驻管理SuperVisor
对SuperVisor的介绍以及实践
开设MCDR生电服教程-(4)MCDR端
MCDR插件端在此引用MCDReforged官方github仓库的中文介绍(原仓库地址:https://github.com/Fallen-Breath/MCDReforged)
MCDReforged(以下简称 MCDR)是一个可以在完全不对 Minecraft 服务端进行修改的情况下,通过可自定义的插件系统,提供对服务端的管理能力的工具
小至计算器、高亮玩家、b 站弹幕姬,大至操控计分板、管理结构文件、自助备份回档,都可以通过 MCDR 及相配套的插件实现
非常感谢 chino_desu 以及他的 MCDaemon 1.0 提出了这样一个超棒的 Minecraft 服务端控制工具的点子
优势
运行于服务端之上,完全不需要修改服务端,保留原汁原味的原版特性
可热重载的插件系统,无需重启服务端即可更新插件
多平台/服务端的兼容性,支持在 Linux / Windows 下运行 vanilla、paper 以及 bungeecord 等服务端
它是如何工作的?MCDR 使用了 Popen 来将服务端作为一个子进程启动,因此它便拥有了控制服务端标准输入/输出流的能力
Minecraft ...
开设MCDR生电服教程-(3)Velocity群组服
Velocity群组服你可能注意到了,你游玩的很多服务器往往会包含多个子服,例如大多数的生电(生存)服务器都会开设“镜像服”、“创造服”等服务器,而玩家只需要通过指令去自由地在多个子服之间进行切换。而你自己开设的服务器可能也有这样的需求。本节将会讲述以velocity作为代理服务器,达成开设群组服的目标。
何为Velocity?
Velocity官网: https://papermc.io/software/velocity
Velocity是一个群组服代理。他本身并不会有任何的服务端逻辑。它会负责将连接到velocity的MC客户端按照配置好的规则分发到对应的服务端。
比喻一下,整个群组服好比一个酒店,而velocity可以理解为酒店的前台。所有要进入酒店房间的顾客都要先经过前台指引才能到达对应的房间。当顾客想换房间的时候,也可以经过前台去更换房间。前台本身并不是一个房间,但是前台应当知道顾客可以访问的其他房间。
将概念换回来,我们可以得出以下结论:
velocity并不是服务端,它只处理客户端→服务端的连接
velocity是整个群组服的入口,所有子服应当配在velocity中 ...
开设MCDR生电服教程-(2)Fabric模组服
服务器核心篇本篇将讲述开设一个普通的原版Fabric模组服的步骤。该服务器大概包含以下特点:
服务器版本1.20.1(Java ≥ 17)
支持添加Fabric模组
原版客户端可以进入,是一个地毯服
安装JavaJava 作为Minecraft Java版必不可少的环境,在开设服务器之前要安装到服务器中。本篇讲述如何安装Java到你的电脑中。
首先,需要下载JDK(Java Develop Kit,”Java开发套件”)
Oracle JDK 17 下载地址: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
ZuluJDK 17
(推荐)Alibaba_DragonWell JDK 17 下载地址:https://dragonwell-jdk.io/#/index
前者为甲骨文公司发行的JDK,后者为阿里基于OpenJDK开发的JDK,更推荐安装后者,实测在游玩过程中,可以极大提高CPU的利用率,降低MSPT,此处以后者为例。
下载好以后,将压缩包解压到硬盘中的合适位置( ...
开设MCDR生电服教程-(1)引言
本文将从0开始,以生电服为例,旨在让新手也能从0开始,打造属于自己的服务器。共包括三个部分:
Fabric模组服
Velocity群组服
MCDR插件端
生电服务器实际搭建及部分实用MCDR插件介绍
此处仅以”MC玩家认知中的生电服”为模板,在Windows服务器上开服
引用自:https://www.bilibili.com/read/cv15268906
教程环境
操作系统:Windows10 家庭版
使用终端:Windows Terminal + PowerShell + cmd
推荐文本编辑器:Visual Studio Code,在开服过程中,会配置很多的文件,不推荐使用Windows自带记事本,推荐使用微软的VSCode
附言本文只包含服务器/群组服本体搭建教程,不提供内网穿透、服务器机器购买、网络联机相关指导,如有穿透公网需求,请参阅其他教程。
C++学习-面向对象
C++的函数补充
C++学习-函数补充
函数进阶默认参数为了简化传参,函数允许定义默认参数
注意:
非默认参数必须在所有默认参数之前
如果函数声明有默认参数,则函数定义不可以有默认参数。
12345678910int add(int a, int b = 20, int c = 30){ return a + b + c;}// res = 10 + 20 + 30 = 60res = add(10);// res = 10 + 10 + 30 = 50res = add (10, 10);// res = 10 + 10 + 10 = 30res = add (10, 10, 10);
占位参数语法:返回值类型 函数名 (数据类型){}
1234567891011121314//占位参数void func(int a, int){ cout<<a<<endl;}//使用func(10, 10);// 占位参数可以有默认参数void func(int a, int = 10){ //code}func(10); ...
C++学习-引用
C++的引用