mirror of
https://github.com/zs-yg/MCSJ.git
synced 2025-12-06 10:50:42 +08:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d325676293 | ||
|
|
a8069c60b9 | ||
|
|
fbc4776eb8 | ||
|
|
9d87fd4bfb | ||
|
|
f46d169224 | ||
|
|
866aa24686 | ||
|
|
453bf59eaa | ||
|
|
1d0f4d1631 |
55
README.md
55
README.md
@@ -1,2 +1,53 @@
|
|||||||
# MCSJ
|
# MCSJ 服务器管理工具
|
||||||
windows的命令行mc开服工具
|
|
||||||
|
MCSJ 是一个开源的 Minecraft 服务器管理工具,旨在为用户提供极致便捷的服务器搭建与管理体验。
|
||||||
|
|
||||||
|
## 主要功能
|
||||||
|
|
||||||
|
- 一键下载 server.jar
|
||||||
|
- 一键生成启动脚本
|
||||||
|
- 一键启动服务器
|
||||||
|
- 一键下载 Java 环境
|
||||||
|
- 一些有趣实用的辅助功能
|
||||||
|
|
||||||
|
> 更多辅助功能请下载体验。
|
||||||
|
|
||||||
|
## 下载地址
|
||||||
|
|
||||||
|
[123网盘链接](https://www.123865.com/s/msALTd-L610d)
|
||||||
|
|
||||||
|
[github releases](https://github.com/zs-yg/MCSJ/releases)
|
||||||
|
|
||||||
|
## 开发环境
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- Visual Studio Code
|
||||||
|
- .net 8.0
|
||||||
|
|
||||||
|
## 运行环境
|
||||||
|
|
||||||
|
- Windows 10
|
||||||
|
- .net 8.0 runtime
|
||||||
|
|
||||||
|
## 运行方式
|
||||||
|
|
||||||
|
1. 下载并解压 MCSJ 压缩包。
|
||||||
|
2. 双击运行 MCSJ.exe 启动程序。
|
||||||
|
3. 或者命令行输入MCSJ.exe 启动程序。可以查看是否需要安装运行时
|
||||||
|
|
||||||
|
## 关于作者
|
||||||
|
|
||||||
|
MCSJ 项目由 [zs-yg](https://github.com/zs-yg) 开发,欢迎提交 issue 和 PR。
|
||||||
|
|
||||||
|
[discord](https://discord.gg/4mbqUzfg)
|
||||||
|
|
||||||
|
qq群:1043867176
|
||||||
|
|
||||||
|
[b站号]:(https://space.bilibili.com/1698250734)
|
||||||
|
|
||||||
|
|
||||||
|
## 开源协议
|
||||||
|
|
||||||
|
本项目已在 GitHub 开源,欢迎贡献代码与建议。
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,34 @@ namespace MCSJ.Tools
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根目录 profiles 文件夹
|
||||||
|
var profilesRoot = Path.Combine(Directory.GetCurrentDirectory(), "profiles");
|
||||||
|
if (!Directory.Exists(profilesRoot))
|
||||||
|
Directory.CreateDirectory(profilesRoot);
|
||||||
|
|
||||||
|
string targetFolder = null;
|
||||||
|
string profilePath = null;
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
Console.Write($"请输入存放文件夹名称(直接回车默认用版本名 '{version}'):");
|
||||||
|
var input = Console.ReadLine();
|
||||||
|
targetFolder = string.IsNullOrWhiteSpace(input) ? version : input;
|
||||||
|
profilePath = Path.Combine(profilesRoot, targetFolder);
|
||||||
|
if (!Directory.Exists(profilePath))
|
||||||
|
break;
|
||||||
|
Console.WriteLine($"文件夹 '{targetFolder}' 已存在,请重新输入(直接回车则取消下载):");
|
||||||
|
}
|
||||||
|
if (Directory.Exists(profilePath))
|
||||||
|
{
|
||||||
|
Console.WriteLine("下载已取消。");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Directory.CreateDirectory(profilePath);
|
||||||
|
string jarPath = Path.Combine(profilePath, "server.jar");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Console.WriteLine($"开始下载 {version}...");
|
Console.WriteLine($"开始下载 {version} 到 {profilePath} ...");
|
||||||
|
|
||||||
var response = await _httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
|
var response = await _httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
|
||||||
response.EnsureSuccessStatusCode();
|
response.EnsureSuccessStatusCode();
|
||||||
|
|
||||||
@@ -38,7 +62,7 @@ namespace MCSJ.Tools
|
|||||||
var isMoreToRead = true;
|
var isMoreToRead = true;
|
||||||
|
|
||||||
using (var stream = await response.Content.ReadAsStreamAsync())
|
using (var stream = await response.Content.ReadAsStreamAsync())
|
||||||
using (var fileStream = new FileStream($"{version}.jar", FileMode.Create, FileAccess.Write))
|
using (var fileStream = new FileStream(jarPath, FileMode.Create, FileAccess.Write))
|
||||||
{
|
{
|
||||||
while (isMoreToRead)
|
while (isMoreToRead)
|
||||||
{
|
{
|
||||||
@@ -50,7 +74,6 @@ namespace MCSJ.Tools
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
await fileStream.WriteAsync(buffer, 0, read);
|
await fileStream.WriteAsync(buffer, 0, read);
|
||||||
|
|
||||||
downloadedBytes += read;
|
downloadedBytes += read;
|
||||||
if (totalBytes > 0)
|
if (totalBytes > 0)
|
||||||
{
|
{
|
||||||
@@ -60,8 +83,7 @@ namespace MCSJ.Tools
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Console.WriteLine($"\n{version} 下载完成! 文件已保存到 {jarPath}");
|
||||||
Console.WriteLine($"\n{version} 下载完成!");
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user