private void OnConfigRequest(INetworkConnection con, Packet r) { Log1.Logger("Zeus").Debug("Config listing request from " + ServerUser.AccountName + "."); WispConfigSettings cfg = new WispConfigSettings(); cfg.Configs = MyServer.AppConfig; PacketReply rep = CreateStandardReply(r, ReplyType.OK, ""); rep.Parms.SetProperty(1, cfg); r.ReplyPacket = rep; }
private void OnConfigSaveRequest(INetworkConnection con, Packet r) { Log1.Logger("Zeus").Debug("Config save request from " + ServerUser.AccountName + "."); Log1.Logger("Zeus").Info("[" + ServerUser.AccountName + "] attempting to save server config..."); if (!ServerUser.Profile.IsUserInRole("Administrator")) { Log1.Logger("Zeus").Warn("[" + ServerUser.AccountName + "] has insufficient permissions to save configs."); r.ReplyPacket = CreateStandardReply(r, ReplyType.Failure, "Insufficient permissions. Only Administrators can update configs."); return; } PacketGenericMessage msg = r as PacketGenericMessage; WispConfigSettings cfg = msg.Parms.GetWispProperty(1) as WispConfigSettings; Dictionary <string, string> newConfigs = cfg.Configs; string msgs = ""; bool rsult = MyServer.SaveConfigs(newConfigs, true, false, ref msgs); r.ReplyPacket = CreateStandardReply(r, rsult ? ReplyType.OK : ReplyType.Failure, msgs); }