示例#1
0
 public void Startup(ConfigurationLoader loader)
 {
     m_Commands = loader.CommandRegistry;
     m_WebIF    = loader.GetAdminWebIF();
     m_WebIF.ModuleNames.Add("console");
     m_WebIF.JsonMethods.Add("console.command", ConsoleCommand);
 }
示例#2
0
        public void ConsoleCommand(HttpRequest req, Map jsondata)
        {
            string cmd;

            if (!jsondata.TryGetValue("command", out cmd))
            {
                req.ErrorResponse(HttpStatusCode.BadRequest, "Bad Request");
                return;
            }

            using (HttpResponse res = req.BeginResponse("text/plain"))
            {
                using (Stream o = res.GetOutputStream())
                {
                    using (StreamWriter w = o.UTF8StreamWriter())
                    {
                        IAdminWebIF webif = m_WebIF;
                        if (webif != null)
                        {
                            var tty = new ConsoleAdminTty(w)
                            {
                                SelectedScene = webif.GetSelectedRegion(req, jsondata)
                            };
                            m_Commands.ExecuteCommandString(cmd, tty);
                            webif.SetSelectedRegion(req, jsondata, tty.SelectedScene);
                        }
                    }
                }
            }
        }
示例#3
0
 public static Map ToJsonMap(this EstateInfo estate, IAdminWebIF webif) => new Map
 {
     { "ID", (int)estate.ID },
     { "ParentEstateID", (int)estate.ParentEstateID },
     { "Name", estate.Name },
     { "Flags", ((uint)estate.Flags).ToString() },
     { "Owner", webif.ResolveName(estate.Owner).ToMap() },
     { "PricePerMeter", estate.PricePerMeter },
     { "BillableFactor", estate.BillableFactor },
     { "SunPosition", estate.SunPosition },
     { "AbuseEmail", estate.AbuseEmail },
     { "UseGlobalTime", estate.UseGlobalTime }
 };
示例#4
0
        public void Startup(ConfigurationLoader loader)
        {
            List <IAdminWebIF> webifs = loader.GetServicesByValue <IAdminWebIF>();

            if (webifs.Count > 0)
            {
                m_AdminWebIF = webifs[0];
                m_AdminWebIF.JsonMethods.Add("npcs.show", HandleShowNpcs);
                m_AdminWebIF.JsonMethods.Add("npc.remove", HandleRemoveNpc);
                m_AdminWebIF.JsonMethods.Add("npc.get", HandleGetNpc);
                m_AdminWebIF.AutoGrantRights["npcs.manage"].Add("npcs.view");
                m_AdminWebIF.ModuleNames.Add("npcs");
            }
            /* non persistent inventory is needed for baking logic */
            m_NonpersistentInventoryService = loader.GetService <InventoryServiceInterface>(m_NonpersistentInventoryServiceName);
            m_NonpersistentAgentServices.Add(m_NonpersistentInventoryService);
            m_NonpersistentAgentServices.Add(new NpcNonPersistentPresenceService());

            /* persistence is optional */
            if (!string.IsNullOrEmpty(m_NpcPresenceServiceName) || !string.IsNullOrEmpty(m_PersistentInventoryServiceName))
            {
                m_NpcPresenceService = loader.GetService <NpcPresenceServiceInterface>(m_NpcPresenceServiceName);
                m_PersistentAgentServices.Add(m_NpcPresenceService);
                m_PersistentInventoryService = loader.GetService <InventoryServiceInterface>(m_PersistentInventoryServiceName);
                m_PersistentAgentServices.Add(m_PersistentInventoryService);

                /* profile is optional */
                if (!string.IsNullOrEmpty(m_PersistentProfileServiceName))
                {
                    m_PersistentProfileService = loader.GetService <ProfileServiceInterface>(m_PersistentProfileServiceName);
                    m_PersistentAgentServices.Add(m_PersistentProfileService);
                }
            }

            /* profile is optional */
            if (!string.IsNullOrEmpty(m_NonpersistentProfileServiceName))
            {
                m_NonpersistentProfileService = loader.GetService <ProfileServiceInterface>(m_NonpersistentProfileServiceName);
                m_NonpersistentAgentServices.Add(m_NonpersistentProfileService);
            }
            loader.Scenes.OnRegionAdd    += OnSceneAdded;
            loader.Scenes.OnRegionRemove += OnSceneRemoved;

            loader.CommandRegistry.AddShowCommand("npcs", ShowNpcsCommand);
            loader.CommandRegistry.AddRemoveCommand("npc", RemoveNpcCommand);
            loader.CommandRegistry.AddCreateCommand("npc", CreateNpcCommand);
            loader.CommandRegistry.AddRemoveAllCommand("npcs", RemoveAllNpcsCommand);
        }
示例#5
0
 public void Startup(ConfigurationLoader loader)
 {
     m_WebIF = loader.GetAdminWebIF();
     m_RegionDefaultFlagsService = loader.GetService <RegionDefaultFlagsServiceInterface>(m_RegionDefaultFlagsServiceName);
     m_GridService = loader.GetService <GridServiceInterface>(m_GridServiceName);
     m_WebIF.ModuleNames.Add("mapserver");
     m_WebIF.AutoGrantRights["mapserver.unregister"].Add("mapserver.view");
     m_WebIF.AutoGrantRights["mapserver.manage"].Add("mapserver.view");
     m_WebIF.JsonMethods.Add("mapserver.search", HandleMapServerSearch);
     m_WebIF.JsonMethods.Add("mapserver.getdefaultregions", HandleMapServerGetDefaultRegions);
     m_WebIF.JsonMethods.Add("mapserver.getdefaulthgregions", HandleMapServerGetDefaultHGRegions);
     m_WebIF.JsonMethods.Add("mapserver.getfallbackregions", HandleMapServerGetFallbackRegions);
     m_WebIF.JsonMethods.Add("mapserver.unregister", HandleMapServerUnregisterRegion);
     m_WebIF.JsonMethods.Add("mapserver.defaultregionflags.list", HandleMapServerGetDefaultRegionFlags);
     m_WebIF.JsonMethods.Add("mapserver.defaultregionflags.change", HandleMapServerChangeDefaultRegionFlags);
 }
示例#6
0
        public void Startup(ConfigurationLoader loader)
        {
            m_WebIF = loader.GetAdminWebIF();
            m_WebIF.ModuleNames.Add("packageadmin");

            m_WebIF.JsonMethods.Add("packages.list.installed", PackagesInstalledList);
            m_WebIF.JsonMethods.Add("packages.list.available", PackagesAvailableList);
            m_WebIF.JsonMethods.Add("package.install", PackageInstall);
            m_WebIF.JsonMethods.Add("package.uninstall", PackageUninstall);
            m_WebIF.JsonMethods.Add("packages.updates.available", PackageUpdatesAvailable);
            m_WebIF.JsonMethods.Add("packages.update.feed", PackagesUpdateFeed);
            m_WebIF.JsonMethods.Add("package.get.installed", PackageGetInstalledDetails);
            m_WebIF.JsonMethods.Add("package.get.available", PackageGetAvailableDetails);
            m_WebIF.JsonMethods.Add("package.get", PackageGetDetails);
            m_WebIF.JsonMethods.Add("packages.update.system", PackageUpdateSystem);

            m_WebIF.AutoGrantRights["packages.install"].Add("packages.view");
            m_WebIF.AutoGrantRights["packages.uninstall"].Add("packages.view");
        }
示例#7
0
        public void Startup(ConfigurationLoader loader)
        {
            m_Scenes               = loader.Scenes;
            m_EstateService        = loader.GetService <EstateServiceInterface>(m_EstateServiceName);
            m_RegionStorageService = loader.GetService <GridServiceInterface>(m_RegionStorageName);
            IAdminWebIF webif = loader.GetAdminWebIF();

            m_WebIF = webif;
            webif.ModuleNames.Add("estates");
            webif.JsonMethods.Add("estates.list", HandleList);
            webif.JsonMethods.Add("estate.get", HandleGet);
            webif.JsonMethods.Add("estate.update", HandleUpdate);
            webif.JsonMethods.Add("estate.delete", HandleDelete);
            webif.JsonMethods.Add("estate.create", HandleCreate);
            webif.JsonMethods.Add("estate.notice", HandleNotice);

            webif.AutoGrantRights["estates.manage"].Add("estates.view");
            webif.AutoGrantRights["estate.notice"].Add("estates.view");
        }
示例#8
0
        public void Startup(ConfigurationLoader loader)
        {
            m_AccountDeleteServices = loader.GetServicesByValue <IUserAccountDeleteServiceInterface>();

            m_UserAccountService = loader.GetService <UserAccountServiceInterface>(m_UserAccountServiceName);
            m_AuthInfoService    = loader.GetService <AuthInfoServiceInterface>(m_AuthInfoServiceName);
            var webif = loader.GetAdminWebIF();

            m_WebIF = webif;
            webif.ModuleNames.Add("useraccounts");
            webif.AutoGrantRights["useraccounts.manage"].Add("useraccounts.view");
            webif.AutoGrantRights["useraccounts.delete"].Add("useraccounts.view");
            webif.AutoGrantRights["useraccounts.create"].Add("useraccounts.view");

            webif.JsonMethods.Add("useraccounts.search", HandleUserAccountSearch);
            webif.JsonMethods.Add("useraccount.get", HandleUserAccountGet);
            webif.JsonMethods.Add("useraccount.change", HandleUserAccountChange);
            webif.JsonMethods.Add("useraccount.delete", HandleUserAccountDelete);
            webif.JsonMethods.Add("useraccount.changepassword", HandleUserAccountChangePassword);
            webif.JsonMethods.Add("useraccount.create", HandleUserAccountCreate);
        }
示例#9
0
        public static Map ToJsonMap(this RegionInfo region, IAdminWebIF webif)
        {
            var m = new Map
            {
                { "ID", region.ID },
                { "Location", region.Location.GridLocation },
                { "Size", region.Size.GridLocation },
                { "Name", region.Name },
                { "ServerIP", region.ServerIP },
                { "ServerHttpPort", (int)region.ServerHttpPort },
                { "ServerURI", region.ServerURI },
                { "ServerPort", (int)region.ServerPort },
                { "RegionMapTexture", region.ParcelMapTexture.ToString() },
                { "ProductName", region.ProductName }
            };

            switch (region.Access)
            {
            case RegionAccess.PG:
                m.Add("Access", "pg");
                break;

            case RegionAccess.Mature:
                m.Add("Access", "mature");
                break;

            case RegionAccess.Adult:
                m.Add("Access", "adult");
                break;

            default:
                m.Add("Access", "unknown");
                break;
            }

            m.Add("Owner", webif.ResolveName(region.Owner).ToMap());
            m.Add("Flags", ((uint)region.Flags).ToString());
            return(m);
        }
示例#10
0
 public void Shutdown()
 {
     m_WebIF = null;
 }