removed password checking and registration
This commit is contained in:
parent
d41e4207e0
commit
fde80452de
@ -122,38 +122,16 @@ internal static partial class Launcher
|
||||
RenderTab(tabs.Login);
|
||||
}
|
||||
break;
|
||||
case ConsoleKey.P:
|
||||
if (tabs.Current == tabs.Login)
|
||||
{
|
||||
tabs.Login = tabs.Login
|
||||
.Remove(991, 20).Insert(991, "┏━━━━━━━━━━━━━━━━━━┓")
|
||||
.Remove(1071, 20).Insert(1071, "┃ ┃")
|
||||
.Remove(1151, 20).Insert(1151, "┗━━━━━━━━━━━━━━━━━━┛");
|
||||
RenderTab(tabs.Login);
|
||||
var password = ReadString(33, 13, 15);
|
||||
tabs.Login = tabs.Login
|
||||
.Remove(991, 20).Insert(991, "┌──────────────────┐")
|
||||
.Remove(1071, 20).Insert(1071, "│ │")
|
||||
.Remove(1151, 20).Insert(1151, "└──────────────────┘");
|
||||
RenderTab(tabs.Login);
|
||||
if (password.Length < 8)
|
||||
throw new Exception("password length should be > 7 and < 17");
|
||||
password_hash = hasher.HashCycled(password.ToBytes(), 64);
|
||||
tabs.Login = tabs.Login.Remove(1073, password.Length)
|
||||
.Insert(1073, "*".Multiply(password.Length));
|
||||
RenderTab(tabs.Login);
|
||||
}
|
||||
break;
|
||||
case ConsoleKey.L:
|
||||
if (tabs.Current == tabs.Login)
|
||||
{
|
||||
RenderTab(tabs.Current);
|
||||
if (username.Length < 5) throw new Exception("username is too short");
|
||||
if (password_hash.Length == 0) throw new Exception("pasword is null");
|
||||
if (username.Length < 2) throw new Exception("username is too short");
|
||||
|
||||
// обновление клиента
|
||||
if (!offline)
|
||||
{
|
||||
Connect(hasher.HashCycled(username.ToBytes(), password_hash, 64), "launcher");
|
||||
Connect("updater".ToBytes(), "updater");
|
||||
//обновление файлов клиента
|
||||
Info.Log("b", "updating client...");
|
||||
FSP.DownloadByManifest("download_if_not_exist", Directory.GetCurrent());
|
||||
@ -166,7 +144,6 @@ internal static partial class Launcher
|
||||
Info.Log("g", "client updated");
|
||||
}
|
||||
|
||||
config.Save();
|
||||
// запуск майнкрафта
|
||||
Info.Log("g", "launching minecraft");
|
||||
LaunchGame(config.JavaPath, config.Username, config.UUID,
|
||||
@ -175,28 +152,6 @@ internal static partial class Launcher
|
||||
Info.Log("b", "minecraft closed");
|
||||
}
|
||||
break;
|
||||
case ConsoleKey.R:
|
||||
if (tabs.Current == tabs.Login && !offline)
|
||||
{
|
||||
RenderTab(tabs.Current);
|
||||
if (username.Length < 5) throw new Exception("username is too short");
|
||||
if (password_hash.Length == 0) throw new Exception("pasword is null");
|
||||
Connect("updater".ToBytes(), "updater");
|
||||
mainSocket.SendPackage("register new user".ToBytes());
|
||||
mainSocket.GetAnswer("ready");
|
||||
mainSocket.SendPackage(hasher.HashCycled(username.ToBytes(), password_hash, 64));
|
||||
mainSocket.SendPackage(username.ToBytes());
|
||||
Thread.Sleep(300);
|
||||
Console.Write(".");
|
||||
Thread.Sleep(300);
|
||||
Console.Write(".");
|
||||
Thread.Sleep(300);
|
||||
Console.Write(".");
|
||||
Thread.Sleep(300);
|
||||
Console.Write(".");
|
||||
Info.Log("g", "registration request sent");
|
||||
}
|
||||
break;
|
||||
case ConsoleKey.F2:
|
||||
tabs.Log = File.ReadAllText(Info.LogfileName);
|
||||
RenderTab(tabs.Log, 9999);
|
||||
|
||||
@ -10,13 +10,13 @@
|
||||
┃ ┌──────────────────┐ ┃
|
||||
┃ [N] nickname:│ │ ┃
|
||||
┃ └──────────────────┘ ┃
|
||||
┃ ┌──────────────────┐ ┃
|
||||
┃ [P] password:│ │ ┃
|
||||
┃ └──────────────────┘ ┃
|
||||
┃ ┃
|
||||
┃ ┏━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━┓ ┃
|
||||
┃ ┃ [L] login ┃ ┃ [R] register ┃ ┃
|
||||
┃ ┗━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━┛ ┃
|
||||
┃ ┏━━━━━━━━━━━━━━━━┓ ┃
|
||||
┃ ┃ [L] login ┃ ┃
|
||||
┃ ┗━━━━━━━━━━━━━━━━┛ ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
┣━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┫
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ гыгыг ┃
|
||||
┃ ┃
|
||||
┃ ┃
|
||||
┃ я ещё не добавил настройки ┃
|
||||
┃ ┃
|
||||
|
||||
@ -83,62 +83,13 @@ static class Server
|
||||
switch (request)
|
||||
{
|
||||
case "requesting launcher update":
|
||||
Info.Log("b", "updater requested launcher update");
|
||||
Info.Log("c","updater", "b", " requested launcher update");
|
||||
fsp.UploadFile("share\\minecraft-launcher.exe");
|
||||
break;
|
||||
case "register new user":
|
||||
Info.Log("b", "new user registration requested");
|
||||
handlerSocket.SendPackage("ready".ToBytes());
|
||||
var req = StringConverter.MergeToString(
|
||||
hasher.HashCycled(handlerSocket.GetPackage(), 64).HashToString(),
|
||||
":\n{\n\tusername: \"", handlerSocket.GetPackage().BytesToString(),
|
||||
"\";\n\tuuid: \"null\";\n};");
|
||||
var filepath = $"registration_requests\\{DateTime.Now.ToString(MyTimeFormat.ForFileNames)}.req";
|
||||
File.WriteAllText(filepath, req);
|
||||
Info.Log("b", "text wrote to file <", "c", $"registration_requests\\{filepath}", "b", ">");
|
||||
break;
|
||||
default:
|
||||
throw new Exception("unknown request: " + request);
|
||||
}
|
||||
}
|
||||
else Thread.Sleep(10);
|
||||
}
|
||||
}
|
||||
// запрос от юзера
|
||||
|
||||
if (TryFindUser(hash, out var user))
|
||||
{
|
||||
Info.Log("b", "user is ", "c", user.name);
|
||||
handlerSocket.SendPackage("launcher".ToBytes());
|
||||
// обработка запросов
|
||||
while (true)
|
||||
{
|
||||
if (handlerSocket.Available >= 2)
|
||||
{
|
||||
var request = handlerSocket.GetPackage().BytesToString();
|
||||
switch (request)
|
||||
{
|
||||
case "requesting file download":
|
||||
var file = handlerSocket.GetPackage().BytesToString();
|
||||
Info.Log("b", "user ", "c", user.name, "b", " requested file ", "c", file + "");
|
||||
if (file == "manifest.dtsod")
|
||||
{
|
||||
lock (manifestLocker) fsp.UploadFile("share\\manifest.dtsod");
|
||||
}
|
||||
else fsp.UploadFile("share\\" + file);
|
||||
break;
|
||||
case "requesting uuid":
|
||||
Info.Log("b", "user ", "c", user.name, "b", " requested uuid");
|
||||
handlerSocket.SendPackage(user.uuid.ToBytes());
|
||||
break;
|
||||
case "excess files found":
|
||||
Info.Log("b", "user ", "c", user.name, "b", " sent excess files list");
|
||||
fsp.DownloadFile($"excesses\\{user.name}-{DateTime.Now.ToString(MyTimeFormat.ForFileNames)}.txt");
|
||||
break;
|
||||
case "sending launcher error":
|
||||
Info.Log("y", "user ", "c", user.name, "y", "is sending error:");
|
||||
string error = handlerSocket.GetPackage().BytesToString();
|
||||
Info.Log("y", error + '\n');
|
||||
Info.Log("b", "user ", "c","updater", "b", " requested file ", "c", file + "");
|
||||
fsp.UploadFile($"share\\{file}");
|
||||
break;
|
||||
default:
|
||||
throw new Exception("unknown request: " + request);
|
||||
@ -186,18 +137,4 @@ static class Server
|
||||
+"\"];");
|
||||
}
|
||||
}
|
||||
|
||||
static bool TryFindUser(byte[] hash, out (string name, string uuid) user)
|
||||
{
|
||||
DtsodV23 usersdb = new(File.ReadAllText("users.dtsod"));
|
||||
user = new();
|
||||
if (usersdb.ContainsKey(hash.HashToString()))
|
||||
{
|
||||
user.name = usersdb[hash.HashToString()]["username"];
|
||||
user.uuid = usersdb[hash.HashToString()]["uuid"];
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user