private static void LoadSettingsAndGroups() { LunaLog.Debug("Loading groups..."); GroupSystem.LoadGroups(); LunaLog.Debug("Loading settings..."); SettingsHandler.LoadSettings(); if (GeneralSettings.SettingsStore.ModControl) { LunaLog.Debug("Loading mod control..."); ModFileSystem.LoadModFile(); } }
public void handle(string text, UUID User, string agentName, Destinations src, UUID originator) { OCBotMemory ocb = OCBotMemory.Memory; //BotSession.Instance.MHE(MessageHandler.Destinations.DEST_LOCAL, UUID.Zero, $"Got data \n\n[HandleMiscInputs.cs]:handle(\"{text}\", {User.ToString()}, \"{agentName}\", {src.ToString()}, {originator.ToString()})"); if (ocb.ActiveReportSessions.ContainsKey(User) && ocb.ActiveReportSessions.Count > 0) { // Send report response to GitCommands GitCommands gc = new GitCommands(); gc.BugResponse(originator, User, ocb.ActiveReportSessions[User].ReportStage, text, src, agentName); return; } if (ocb.ActiveFeatureSessions.ContainsKey(User) && ocb.ActiveFeatureSessions.Count > 0) { GitCommands gc = new GitCommands(); gc.FeatureResponse(originator, User, ocb.ActiveFeatureSessions[User].ReportStage, text, src, agentName); return; } if (ocb.ActiveCommentSessions.ContainsKey(User) && ocb.ActiveCommentSessions.Count > 0) { GitCommands gc = new GitCommands(); gc.comment(originator, User, ocb.ActiveCommentSessions[User].ReportStage, text, src, agentName); return; } if (ocb.NoticeSessions.ContainsKey(User) && ocb.NoticeSessions.Count > 0) { GroupSystem gs = new GroupSystem(); gs.update_notice_sess(originator, User, text, src, agentName); return; } if (ocb.MailingLists.Count > 0) { // Scan all mailing lists for a session and agentKey that match. foreach (string sML in ocb.MailingLists.Keys) { OCBotMemory.MailList ML = ocb.MailingLists[sML]; if (ML.PrepFrom == User && ML.PrepState == 1) { MailingLists.MailingLists cML = new MailingLists.MailingLists(); cML.HandleMailListData(User, originator, src, sML, text); return; } } } }
private static void LoadSettingsAndGroups() { LunaLog.Debug("Loading groups..."); GroupSystem.LoadGroups(); LunaLog.Debug("Loading settings..."); GeneralSettings.Singleton.Load(); if (GeneralSettings.SettingsStore.GameDifficulty == GameDifficulty.Custom) { LunaLog.Debug("Loading gameplay settings..."); GameplaySettings.Singleton.Load(); } #if DEBUG DebugSettings.Singleton.Load(); LunaTime.SimulatedMsTimeOffset = DebugSettings.SettingsStore.SimulatedMsTimeOffset; #endif }
private static void LoadSettingsAndGroups() { LunaLog.Debug("Loading groups..."); GroupSystem.LoadGroups(); LunaLog.Debug("Loading settings..."); SettingsHandler.LoadSettings(); if (GeneralSettings.SettingsStore.ModControl) { LunaLog.Debug("Loading mod control..."); ModFileSystem.LoadModFile(); } Console.Title += $" ({GeneralSettings.SettingsStore.ServerName})"; #if DEBUG Console.Title += " DEBUG"; #endif }
private static void LoadSettingsAndGroups() { LunaLog.Debug("Loading groups..."); GroupSystem.LoadGroups(); LunaLog.Debug("Loading settings..."); SettingsHandler.LoadSettings(); SettingsHandler.ValidateDifficultySettings(); if (GeneralSettings.SettingsStore.ModControl) { LunaLog.Debug("Loading mod control..."); ModFileSystem.LoadModFile(); } if (Common.PlatformIsWindows()) { Console.Title += $" ({GeneralSettings.SettingsStore.ServerName})"; #if DEBUG Console.Title += " DEBUG"; #endif } }
public void execute(GameSession gameSession, byte[] bytes) { var read = new LegacyModuleRequest(); read.readCommand(bytes); var player = gameSession.Player; string[] packet = read.message.Split('|'); switch (packet[0]) { case ServerCommands.TECHS: player.TechManager.AssembleTechCategoryRequest(packet[1]); break; case ClientCommands.PORTAL_JUMP: JumpRequest(gameSession); break; case ClientCommands.LASER_STOP: player.DisableAttack(player.SettingsManager.SelectedLaser); break; case ServerCommands.ROCKET_ATTACK: player.AttackManager.RocketAttack(); break; case ServerCommands.SET_STATUS: switch (packet[1]) { case ClientCommands.INSTAREPAIR: InstaRepair(gameSession); break; case ClientCommands.CONFIGURATION: player.ChangeConfiguration(packet[2]); break; case ServerCommands.EMP: player.AttackManager.EMP(); break; case ServerCommands.INSTASHIELD: player.AttackManager.ISH(); break; case ServerCommands.SMARTBOMB: player.AttackManager.SMB(); break; case ClientCommands.SELECT_CLOAK: player.CpuManager.Cloak(); break; case ClientCommands.AROL: player.CpuManager.ArolX(); break; case ClientCommands.RLLB: player.CpuManager.RllbX(); break; case ClientCommands.MINE: AssembleMineRequest(packet[2], gameSession); break; } break; case ServerCommands.GROUPSYSTEM: switch (packet[1]) { case ServerCommands.GROUPSYSTEM_GROUP_INVITE: switch (packet[2]) { case ServerCommands.GROUPSYSTEM_GROUP_INVITE_SUB_BY_NAME: GroupSystem.AssembleInvite(gameSession.Player, GroupSystem.GetPlayerByName(Out.DecodeFrom64(packet[3]))); break; case ServerCommands.GROUPSYSTEM_GROUP_INVITE_SUB_REVOKE: GroupSystem.Revoke(gameSession.Player, GameManager.GetGameSession(Convert.ToInt32(packet[3]))?.Player); break; case ServerCommands.GROUPSYSTEM_GROUP_INVITE_SUB_ACKNOWLEDGE: GroupSystem.AssembleAcceptedInvitation(gameSession.Player, GameManager.GetGameSession(Convert.ToInt32(packet[3]))?.Player); break; case ServerCommands.GROUPSYSTEM_GROUP_INVITE_SUB_REJECT: GroupSystem.Reject(gameSession.Player, GameManager.GetGameSession(Convert.ToInt32(packet[3]))?.Player); break; } break; case ServerCommands.GROUPSYSTEM_GROUP_EVENT_MEMBER_LEAVES_SUB_KICK: gameSession.Player.Group?.Kick(GameManager.GetGameSession(Convert.ToInt32(packet[2]))?.Player); break; case ServerCommands.GROUPSYSTEM_GROUP_EVENT_MEMBER_LEAVES_SUB_LEAVE: gameSession.Player.Group?.Leave(gameSession.Player); break; case ServerCommands.GROUPSYSTEM_BLOCK_INVITATIONS: GroupSystem.BlockInvitations(gameSession.Player); break; case ClientCommands.GROUPSYSTEM_PING: switch (packet[2]) { case ClientCommands.GROUPSYSTEM_PING_POSITION: if (packet.Length < 4) { GroupSystem.Ping(gameSession.Player, gameSession.Player.Spacemap.Characters[int.Parse(packet[3])]?.Position); break; } GroupSystem.Ping(gameSession.Player, new Position(int.Parse(packet[3]), int.Parse(packet[4]))); break; case ClientCommands.GROUPSYSTEM_PING_USER: GroupSystem.Ping(gameSession.Player, GameManager.GetGameSession(Convert.ToInt32(packet[3]))?.Player); break; } break; case ClientCommands.GROUPSYSTEM_FOLLOW: gameSession.Player.Group?.Follow(gameSession.Player, GameManager.GetGameSession(Convert.ToInt32(packet[2]))?.Player); break; case ClientCommands.GROUPSYSTEM_PROMOTE: gameSession.Player.Group?.ChangeLeader(GameManager.GetGameSession(Convert.ToInt32(packet[2]))); break; case ClientCommands.GROUPSYSTEM_SET_REMOTE: switch (packet[2]) { case ClientCommands.GROUPSYSTEM_CHANGE_INVITATON_BEHAVIOUR: gameSession.Player.Group?.ChangeBehavior(gameSession, Convert.ToInt32(packet[3])); break; } break; } break; } }
public static void SendPlayerItems(Player player, bool isLogin = true) { player.SendCommand(player.GetShipInitializationCommand()); if (player.Title != "") player.SendPacket("0|n|t|" + player.Id + "|1|" + player.Title + ""); if (isLogin) { player.DroneManager.UpdateDrones(); player.SendPacket("0|S|CFG|" + player.CurrentConfig); player.SendPacket("0|A|BK|0"); //yeşil kutu miktarı player.SendPacket("0|A|JV|0"); //atlama kuponu miktarı } else { player.SendPacket(player.DroneManager.GetDronesPacket()); var droneFormationChangeCommand = DroneFormationChangeCommand.write(player.Id, (int)player.SettingsManager.SelectedFormation); player.SendCommand(droneFormationChangeCommand); player.SendCommandToInRangePlayers(droneFormationChangeCommand); } var spaceball = EventManager.Spaceball.Character; if (EventManager.Spaceball.Active && spaceball != null) player.SendPacket($"0|n|ssi|{spaceball.Mmo}|{spaceball.Eic}|{spaceball.Vru}"); else player.SendPacket($"0|n|ssi|0|0|0"); if (isLogin) { player.SendPacket("0|ps|nüscht"); player.SendPacket("0|ps|blk|" + Convert.ToInt32(player.Settings.InGameSettings.blockedGroupInvites)); if (player.Group != null) GroupSystem.GroupInitializationCommand(player.GameSession.Player); else { foreach (var userId in player.Storage.GroupInvites.Keys) if (GameManager.GetPlayerById(userId) != null) GroupSystem.GroupInviteCommand(GameManager.GetPlayerById(userId), player); } } if (!player.Premium) player.SendCommand(PetBlockUICommand.write(true)); player.Spacemap.SendObjects(player); if (isLogin) player.Spacemap.SendPlayers(player); player.CheckAbilities(player); if (isLogin) player.SettingsManager.SendSlotBarItems(); player.SettingsManager.SendRemoveWindows(); if (isLogin) { player.SendCommand(PetInitializationCommand.write(true, true, true)); player.UpdateStatus(); } player.SendCurrentCooldowns(); QueryManager.SavePlayer.Information(player); }
public void getTick() { GroupSystem.PerformCheck(LastScheduleCheck); if (DateTime.Now > LastScheduleCheck) { LastScheduleCheck = DateTime.Now + TimeSpan.FromMinutes(5); } foreach (KeyValuePair <UUID, OCBotMemory.ReplyData> kvp in OCBotMemory.Memory.AntiSpamReply) { if (kvp.Value.Ignore) { continue; // This will not get reset here } if (kvp.Value.InitialReply.AddMinutes(OCBotMemory.Memory.REPLY_BLOCK_EXPIRE.TotalMinutes) <= DateTime.Now) { if (kvp.Value.TriggerCount < OCBotMemory.Memory.MAX_TRIGGERS) { // add to removal queue if (OCBSession.Instance.RemoveReplyHandle.Contains(kvp.Key) == false) { OCBSession.Instance.RemoveReplyHandle.Add(kvp.Key); } } else { kvp.Value.SetIgnore(); } } } BMem = OCBotMemory.Memory; // Read Singleton if (!BMem.iHaveBeenTeleported) { // check current region if (BMem.DefaultRegion != "" && DateTime.Now > OCBSession.Instance.NextTeleportAttempt) { if (grid.Network.CurrentSim.Name != BMem.DefaultRegion) { OCBSession.Instance.NextTeleportAttempt = DateTime.Now.AddMinutes(1); grid.Self.Teleport(BMem.DefaultRegion, BMem.DefaultLocation); } } } if (BMem.AutoRestartSim && !OCBSession.Instance.RestartTriggered) { // Do checks DateTime timestamp = DateTime.Now; bool everyDay = false; DayOfWeek restarter = DayOfWeek.Monday; switch (BMem.RestartDay) { case "mon": restarter = DayOfWeek.Monday; break; case "tue": restarter = DayOfWeek.Tuesday; break; case "wed": restarter = DayOfWeek.Wednesday; break; case "thur": restarter = DayOfWeek.Thursday; break; case "fri": restarter = DayOfWeek.Friday; break; case "sat": restarter = DayOfWeek.Saturday; break; case "sun": restarter = DayOfWeek.Sunday; break; default: everyDay = true; break; } if (restarter == timestamp.DayOfWeek) { everyDay = true; // this will keep logic to a minimum } if (everyDay) { // do more checks string timestampStr = timestamp.ToString("hh:mmtt"); timestampStr = timestampStr.ToLower(); string compareStr = BMem.TimeStringForRestart; if (compareStr == timestampStr) { // restart OCBSession.Instance.RestartTriggered = true; BotSession.Instance.grid.Estate.RestartRegion(); BotSession.Instance.WaitForFiveMinutes = true; } } else { // do nothing } } return; }
public override void HandleMessage(ClientStructure client, IMessageData messageData) { var data = (GroupBaseMsgData)messageData; switch (data.GroupMessageType) { case GroupMessageType.Invite: { var info = (GroupInviteMsgData)data; if (GroupSystem.IsOwner(info.GroupName, client.PlayerName)) { GroupSystem.Invite(info.GroupName, info.AddressedTo); MessageQueuer.SendToClient <GroupSrvMsg>(client, info); } } break; case GroupMessageType.Accept: { var info = (GroupAcceptMsgData)data; if (GroupSystem.IsPendingInvitation(info.GroupName, client.PlayerName)) { GroupSystem.AddPlayerToGroup(info.GroupName, client.PlayerName); MessageQueuer.SendToClient <GroupSrvMsg>(client, info); } } break; case GroupMessageType.Remove: { var info = (GroupRemoveMsgData)data; if (GroupSystem.IsOwner(info.GroupName, client.PlayerName)) { GroupSystem.DeregisterGroup(info.GroupName); MessageQueuer.SendToClient <GroupSrvMsg>(client, info); } } break; case GroupMessageType.Add: { var info = (GroupAddMsgData)data; if (GroupSystem.NumGroups(client.PlayerName) < 2) { var newMessage = new GroupAddMsgData { GroupName = info.GroupName, Owner = client.PlayerName }; GroupSystem.RegisterGroup(info.GroupName, client.PlayerName); MessageQueuer.SendToClient <GroupSrvMsg>(client, newMessage); } } break; case GroupMessageType.Kick: { var info = (GroupKickMsgData)data; if (GroupSystem.IsOwner(info.GroupName, client.PlayerName)) { GroupSystem.KickPlayerFromGroup(info.GroupName, info.Player); MessageQueuer.SendToClient <GroupSrvMsg>(client, info); } } break; case GroupMessageType.ListRequest: { var groupsAndOwners = GroupSystem.GroupsAndOwners(); var newMessage = new GroupListResponseMsgData { Groups = groupsAndOwners.Key, Owners = groupsAndOwners.Value }; MessageQueuer.SendToClient <GroupSrvMsg>(client, newMessage); } break; case GroupMessageType.UpdateRequest: { var info = (GroupUpdateRequestMsgData)data; var g = GroupSystem.GetGroup(info.GroupName); var newMessage = new GroupUpdateResponseMsgData { Owner = g.Owner, Members = g.GetMembers(), Name = g.Name }; MessageQueuer.SendToClient <GroupSrvMsg>(client, newMessage); } break; default: throw new ArgumentOutOfRangeException(); } }