Skip to content

zwz211123/Minecraft-Speed-Proxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

229 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build and releaseGitHub code size in bytesGitHub all releasesGitHubGitHub release (latest SemVer)

Minecraft-Speed-Proxy

Minecraft加速IP程序
能够代理Minecraft服务器,并拥有白名单、用户控制、流量展示、MOTD自定义等功能,支持IPv6,能够代理Forge客户端。允许使用Web API控制服务器
本项目使用C语言编写 新版已改用C++,内存占用极低,在配置较低的服务器上拥有更好的表现
改用C++编写,大幅度降低了崩溃的发生率,降低了内存泄露的可能并有了更好的项目结构
新版已支持跨平台编译,支持Windows、Linux
若仍需要使用旧版,请下载v3.0.0以前的版本。若需要对旧版继续开发,请切换到c-releases分支

如何获取程序(Linux Ubuntu),(Windows请参考Windows编译指南,或直接使用发行版)

通过发行版获取

  1. 前往Release下载最新的发行版的对应版本
  2. 解压下载的文件
tar -zxvf <下载的压缩包>

通过源码获取

1.克隆仓库到你的Linux服务器上

sudo apt update
sudo apt install -y git
git clone https://github.com/AllesUgo/Minecraft-Speed-Proxy.git

2.在Linux上安装linux c++编译工具包 例如:

sudo apt update
sudo apt install -y g++ cmake make 

3.进入包含 CMakeList.txt的目录编译项目,编译完成后会在项目目录下生成可执行文件

cd Minecraft-Speed-Proxy
cmake -DCMAKE_BUILD_TYPE=Release .
cmake --build .

如何获取程序(Windows)

Windows不推荐使用源码编译,编译环境较为复杂,推荐直接下载发行版

  1. 前往Release下载最新的发行版的对应版本
  2. 使用适当的解压工具解压下载的文件

如何使用本程序

Windows使用方法与Linux相同,在Windows下使用cmd或PowerShell代替Linux下的bash
Linux用户可能需要先给予程序执行权限

chmod +x minecraftspeedproxy

在包含minecraftspeedproxy(minecraftspeedproxy.exe)程序的目录输入 ./minecraftspeedproxy -h以获取使用帮助
基本使用方法:

./minecraftspeedproxy <要代理的服务器地址> <要代理的服务器端口> <使用的本地端口>

例如:

./minecraftspeedproxy mc.hypixel.net 25565 25565

参数解释

本程序可以通过参数启动,也可以通过配置文件启动,若要通过配置文件启动请参考配置文件解释
1.通过命令行参数运行本程序需要三个必选参数,依次为 要代理的服务器地址 要代理的服务器端口 使用的本地端口 其中 要代理的服务器地址可以是IP,也可以是域名,使用的本地端口请注意检查是否被占用以及权限

3.运行中的命令支持请在运行后输入 help以获取

4.更多参数请使用参数-h获取

WebAPI

WebAPI允许通过HTTP请求控制Minecraft-Speed-Proxy服务器,包含了控制台拥有的所有功能和一些拓展功能

WebAPI默认启用,若不希望使用WebAPI,可以在配置文件中将WebAPIEnable设置为0

API接口介绍参考 Web API接口文档

将在后续版本逐步推出各功能管理网页

配置文件解释

程序除通过命令行参数设置启动外,还可以使用配置文件启动
配置文件是一个JSON格式的文本文件,默认的配置文件可以通过./minecraftspeedproxy -c config.json生成(请注意权限问题)
其默认内容如下

{
	"Version":	"1.1",
	"LocalAddress":	"::",
	"LocalPort":	25565,
	"Address":	"mc.hypixel.net",
	"RemotePort":	25565,
	"MaxPlayer":	-1,
	"MotdPath":	"",
	"DefaultEnableWhitelist":	true,
	"WhiteBlcakListPath":	"./WhiteBlackList.json",
	"AllowInput":	true,
	"ShowOnlinePlayerNumber":	true,
	"LogDir":	"./logs",
	"ShowLogLevel":	0,
	"SaveLogLevel":	0,
    "WebAPIEnable":	1,
	"WebAPIAddress":	"127.0.0.1",
	"WebAPIPort":	8080,
	"WebAPIPassword":	"admin"
}

各字段解释如下;

键名 类型 键值
Version 字符串 配置文件版本号,软件自动根据该项升级配置文件
LocalIPv6 布尔 本机地址是否使用IPv6
LocalAddress 字符串 本机地址,一般填0.0.0.0,IPv6也可使用::
LocalPort 整数 本机端口
RemoteIPv6 布尔 远程服务器地址是否使用IPv6
Address 字符串 远程服务器地址,可以是域名或IP地址,如mc.hypixel.net
RemotePort 整数 远程服务器端口
MaxPlayer 整数 最大玩家数,-1为不限制
MotdPath 字符串 motd文件路径,为空则使用默认motd
DefaultEnableWhitelist 布尔 是否默认启用白名单
WhiteBlcakListPath 字符串 白名单黑名单文件路径
AllowInput 布尔 是否允许输入命令
ShowOnlinePlayerNumber 布尔 是否显示在线玩家数(当前版本暂时无效)
LogDir 字符串 日志文件目录
ShowLogLevel 整数 显示日志等级,-1为Debug日志,0为显示常规日志,1为显示警告及以上,2为显示错误及以上,3为显示玩家状态,一般填0
SaveLogLevel 整数 保存日志等级,-1为Debug日志,1为保存警告及以上,2为保存错误及以上,3为保存玩家状态,一般填0
WebAPIEnable 布尔 是否启用Web API
WebAPIAddress 字符串 Web API监听地址。若不需要外网访问,建议设置为环回地址(127.0.0.1)
WebAPIPort 整数 Web API监听端口
WebAPIPassword 字符串 Web API访问密码

生成配置文件请使用

./minecraftspeedproxy -a <配置文件路径>

使用配置文件启动请使用

./minecraftspeedproxy -c <配置文件路径>

例如:

./minecraftspeedproxy -c config.json

如何自定义motd

motd文件是一个文本文件,可以通过配置文件指定。若配置文件中的MotdPath字段为空则使用默认motd 以下是一个motd文件的例子

{
    "version": {
        "name": "1.8.7",
        "protocol": 47
    },
    "players": {
        "max": 100,
        "online": 5,
        "sample": [
            {
                "name": "thinkofdeath",
                "id": "4566e69f-c907-48ee-8d71-d7ba5aa00d20"
            }
        ]
    },    
    "description": {
        "text": "Hello world"
    },
    "favicon": "data:image/png;base64,<data>"
}

MOTD必须是一个JSON格式的文本文件,其中的字段均可空或部分为空,当某字段为空时,服务器将会使用默认值填充该字段
例如,当players字段为空时,服务器将会使用设置的最大玩家数、在线玩家数和玩家列表填充该字段
若希望获取现有服务器的motd数据,可以使用命令./minecraftspeedproxy --get-motd并按照提示操作

二次开发

二次开发文档请参考: 二次开发

About

Minecraft加速IP程序

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 96.6%
  • C 1.8%
  • Other 1.6%