using LoaderLibrary;
GameServer = new ServerSocket(); GameServer.OnClientConnect += GameServer_OnClientConnect; GameServer.OnClientReceive += GameServer_OnClientReceive; GameServer.OnClientDisconnect += GameServer_OnClientDisconnect; GameServer.Enable(GamePort, "0.0.0.0");
LoaderServer = new global::LoaderLibrary.LoaderServer(); LoaderServer.CheatDetected += LoaderServer_CheatDetected; LoaderServer.Start(6850);
public static void Main(string[] args)
static void LoaderServer_CheatDetected(LoaderLibrary.Client Connector, CheatFlags CheatFlag, string Reason) { string Message = ""; switch (CheatFlag) { case CheatFlags.BlockingThreads: Message = "[Entry] Detected cheating!! Reason: Suspension/Termination of Protection Threads [" + Reason + "/" + LoaderServer.TotalThreads + "]"; break; case CheatFlags.CheatProg: Message = "[Entry] Detected cheating!! Reason: " + Reason + ""; break; case CheatFlags.CheatTitle: Message = "[Entry] Detected cheating!! Reason: " + Reason + ""; break; case CheatFlags.Clicker: Message = "[Entry] Detected cheating!! Reason: Using Clicker"; break; case CheatFlags.SpeedHack: Message = "[Entry] Detected cheating!! Reason: Using SpeedHack"; break; case CheatFlags.MemoryEdit: Message = "[Entry] Detected cheating!! Reason: MemoryEditing(" + Reason + ")"; break; case CheatFlags.FilesEdit: Message = "[Entry] Detected cheating!! Reason: Editing Game Files(" + Reason + ")"; break; default: Console.WriteLine("Error: Unknown CheatFlag (" + CheatFlag + ")"); break; } if (Connector.AccUID > 0) { if (Kernel.GamePool.ContainsKey((uint)Connector.AccUID)) { var client = Kernel.GamePool[(uint)Connector.AccUID]; Message = Message.Replace("[Entry]", "[" + client.Player.Name + "]"); Console.WriteLine(Message); BanSystem.BanPlayer(client.Player.UID, client.Player.Name, 1, Message.Substring(Message.IndexOf("Reason:") + ("Reason:").Length)); client.Disconnect(); } return; } Message = Message.Replace("[Entry]", "[" + Connector.PCName + "]"); Console.WriteLine(Message); BanSystem.BanPC(Connector.HDSerial, Connector.PCName, 1, Message.Substring(Message.IndexOf("Reason:") + ("Reason:").Length)); }
public static bool Save(bool Exit = false)
BanSystem.Save();
static void AppendConnect(uint Identifier, Client.GameState client)
if (Message == string.Empty) // ANSWER_OK
if (LoaderLibrary.BanSystem.IsBanned(Account.EntityID, Account.HDSerial, out Message)) { }
case "scan"://@scan (name) { foreach (var target in Program.Values) { string name = target.Player.LoweredName; if (name.Contains(Data[1])) { LoaderLibrary.LoaderServer.RequestOpenedProcesses(target.Player.UID, target.Player.Name); } } break; } case "loaderban"://@loaderban (name) (hours) (reason) { foreach (var target in Program.Values) { string name = target.Player.LoweredName; if (name.Contains(Data[1])) { client.MessageBox(client.Player.Name + " been banned.."); LoaderLibrary.BanSystem.BanPlayer(target.Player.UID, target.Player.Name, uint.Parse(Data[2]), Data[3]); target.Disconnect(); } } break; } case "loaderunban"://@loaderban (name) (hours) (reason) { if (Data[1].ToLower() == "all") { LoaderLibrary.BanSystem.BannedPlayers.Clear(); client.MessageBox("all banned players are now unbanned.."); } else { uint uid = uint.Parse(Data[1]); if (LoaderLibrary.BanSystem.BannedPlayers.ContainsKey(uid)) { client.MessageBox("Done"); LoaderLibrary.BanSystem.BannedPlayers.Remove(uid); } else client.MessageBox("player not found"); } break; }
public string HDSerial;
public Authentication Info;
public LoaderLibrary.Authentication Info;
static void AuthServer_OnClientReceive(byte[] buffer, int length, ClientWrapper arg3)
Entity.Info = new Authentication();
Entity.Info = new LoaderLibrary. Authentication();
Entity.Account = new AccountTable(Entity.Info.Username);
Entity.Account.HDSerial = Entity.Info.HDSerial;
GameCryptographyKey = "AliNasserLOoader";
case CheatFlags.BlockingThreads: Message = "[Entry] Detected cheating!! Reason: Suspension/Termination of Protection Threads ["+Reason+"/"+LoaderServer.TotalThreads+"]"; break; case CheatFlags.CheatProg: Message = "[Entry] Detected cheating!! Reason: " + Reason + ""; break;