コード例 #1
0
 public bool SaveMCServerConfig(Server_Config server, Propertie_Set tmpObj)
 {
     if (tmpObj != null)
     {
         Config_properties config = new Config_properties();
         config.Init(server.server_local + @"\server.properties");
         config.SetString("spawn-protection", tmpObj.spawn_protection.ToString());
         config.SetString("max-tick-time", tmpObj.max_tick_time.ToString());
         config.SetString("query.port", tmpObj.query_port.ToString());
         config.SetString("generator-settings", tmpObj.generator_settings);
         config.SetString("force-gamemode", tmpObj.force_gamemode.ToString());
         config.SetString("allow-nether", tmpObj.allow_nether.ToString());
         config.SetString("enforce-whitelist", tmpObj.enforce_whitelist.ToString());
         config.SetString("gamemode", tmpObj.gamemode);
         config.SetString("broadcast-console-to-ops", tmpObj.broadcast_console_to_ops.ToString());
         config.SetString("enable-query", tmpObj.enable_query.ToString());
         config.SetString("player-idle-timeout", tmpObj.player_idle_timeout.ToString());
         config.SetString("difficulty", tmpObj.difficulty);
         config.SetString("spawn-monsters", tmpObj.spawn_monsters.ToString());
         config.SetString("broadcast-rcon-to-ops", tmpObj.broadcast_rcon_to_ops.ToString());
         config.SetString("op-permission-level", tmpObj.op_permission_level.ToString());
         config.SetString("pvp", tmpObj.pvp.ToString());
         config.SetString("snooper-enabled", tmpObj.snooper_enabled.ToString());
         config.SetString("level-type", tmpObj.level_type);
         config.SetString("hardcore", tmpObj.hardcore.ToString());
         config.SetString("enable-command-block", tmpObj.enable_command_block.ToString());
         config.SetString("max-players", tmpObj.max_players.ToString());
         config.SetString("network-compression-threshold", tmpObj.network_compression_threshold.ToString());
         config.SetString("resource-pack-sha1", tmpObj.resource_pack_sha1);
         config.SetString("max-world-size", tmpObj.max_world_size.ToString());
         config.SetString("rcon.port", tmpObj.rcon_port.ToString());
         config.SetString("server-port", tmpObj.server_port.ToString());
         config.SetString("debug", tmpObj.debug.ToString());
         config.SetString("server-ip", tmpObj.server_ip);
         config.SetString("spawn-npcs", tmpObj.spawn_npcs.ToString());
         config.SetString("allow-flight", tmpObj.allow_flight.ToString());;
         config.SetString("level-name", tmpObj.level_name);
         config.SetString("view-distance", tmpObj.view_distance.ToString());
         config.SetString("resource-pack", tmpObj.resource_pack);
         config.SetString("spawn-animals", tmpObj.spawn_animals.ToString());
         config.SetString("white-list", tmpObj.white_list.ToString());
         config.SetString("rcon.password", tmpObj.rcon_password);
         config.SetString("generate-structures", tmpObj.generate_structures.ToString());
         config.SetString("online-mode", tmpObj.online_mode.ToString());
         config.SetString("max-build-height", tmpObj.max_build_height.ToString());
         config.SetString("level-seed", tmpObj.level_seed);
         config.SetString("use-native-transport", tmpObj.use_native_transport.ToString());
         config.SetString("prevent-proxy-connections", tmpObj.prevent_proxy_connections.ToString());
         config.SetString("motd", tmpObj.motd);
         config.SetString("enable-rcon", tmpObj.enable_rcon.ToString());
         return(config.UnInit(true));
     }
     return(false);
 }
コード例 #2
0
        public void Start_Server()
        {
            if (!File.Exists(server_save.server_local + server_save.server_core))
            {
                MessageBox.Show("服务器核心未找到,请设置服务器核心");
                return;
            }
            string javaPath = server_save.java_local;

            if (string.IsNullOrWhiteSpace(javaPath) || !File.Exists(javaPath))
            {
                MessageBox.Show("JAVA错误,请重新设置");
                return;
            }

            Config_properties config = new Config_properties();

            if (server_save.max_m == 0 || server_save.min_m == 0)
            {
                MessageBox.Show("内存设置错误");
                return;
            }
            string cmd = string.Format("{0} -Xmx{1}M -Xms{2}M -Djline.terminal=jline.UnsupportedTerminal -jar \"{3}\" {4}",
                                       server_save.java_arg, server_save.max_m.ToString(), server_save.min_m.ToString(),
                                       server_save.server_local + server_save.server_core, server_save.server_arg);

            if (!server_save.Server.Run(javaPath, cmd))
            {
                MessageBox.Show("进程创建失败!");
                return;
            }

            logs.Log_write("启动服务器:" + cmd);

            button_serverRun.Invoke(new MCServer_API.opEventHandler(safe_opButton), new object[] { button_serverRun, false });
            button_serverStop.Invoke(new MCServer_API.opEventHandler(safe_opButton), new object[] { button_serverStop, true });
            button_serverRest.Invoke(new MCServer_API.opEventHandler(safe_opButton), new object[] { button_serverRest, true });
        }
コード例 #3
0
        /// <summary>
        /// 读服务器配置文件
        /// </summary>
        /// <param name="path">文件(包含路径)</param>
        /// <param name="obj">服务器储存</param>
        public Propertie_Set ReadMCServerConfig(Server_Config server)//读取并设置服务器设置界面内容
        {
            Config_properties config    = new Config_properties();
            Propertie_Set     tmpObject = new Propertie_Set();

            if (!File.Exists(server.server_local + @"\server.properties"))
            {
                //如果配置文件不存在则先创建一个标准的配置文件
                config.Init(server.server_local + @"\server.properties");
                config.SetString("spawn-protection", "16");
                config.SetString("max-tick-time", "60000");
                config.SetString("query.port", "");
                config.SetString("generator-settings", "");
                config.SetString("force-gamemode", "false");
                config.SetString("allow-nether", "true");
                config.SetString("enforce-whitelist", "false");
                config.SetString("gamemode", "0");
                config.SetString("broadcast-console-to-ops", "true");
                config.SetString("enable-query", "false");
                config.SetString("player-idle-timeout", "0");
                config.SetString("difficulty", "1");
                config.SetString("spawn-monsters", "true");
                config.SetString("broadcast-rcon-to-ops", "true");
                config.SetString("op-permission-level", "4");
                config.SetString("pvp", "true");
                config.SetString("snooper-enabled", "true");
                config.SetString("level-type", "default");
                config.SetString("hardcore", "false");
                config.SetString("enable-command-block", "false");
                config.SetString("max-players", "20");
                config.SetString("network-compression-threshold", "0");
                config.SetString("resource-pack-sha1", "");
                config.SetString("max-world-size", "29999984");
                config.SetString("rcon.port", "25575");
                config.SetString("server-port", "25565");
                config.SetString("debug", "false");
                config.SetString("server-ip", "");
                config.SetString("spawn-npcs", "true");
                config.SetString("allow-flight", "false");
                config.SetString("level-name", "world");
                config.SetString("view-distance", "10");
                config.SetString("resource-pack", "");
                config.SetString("spawn-animals", "true");
                config.SetString("white-list", "false");
                config.SetString("rcon.password", "");
                config.SetString("generate-structures", "true");
                config.SetString("online-mode", "false");
                config.SetString("max-build-height", "256");
                config.SetString("level-seed", "false");
                config.SetString("use-native-transport", "true");
                config.SetString("prevent-proxy-connections", "false");
                config.SetString("motd", "A Minecraft Server");
                config.SetString("enable-rcon", "false");
                config.UnInit(true);
            }

            //依次读取配置写到tmpObject对象里
            config.Init(server.server_local + @"\server.properties");
            int.TryParse(config.GetString("spawn-protection"), out tmpObject.spawn_protection);
            int.TryParse(config.GetString("max-tick-time"), out tmpObject.max_tick_time);
            int.TryParse(config.GetString("query.port"), out tmpObject.query_port);
            tmpObject.generator_settings       = config.GetString("generator-settings");
            tmpObject.force_gamemode           = config.GetString("force-gamemode").ToLower() == "true" ? true : false;
            tmpObject.allow_nether             = config.GetString("allow-nether").ToLower() == "true" ? true : false;
            tmpObject.enforce_whitelist        = config.GetString("enforce-whitelist").ToLower() == "true" ? true : false;
            tmpObject.gamemode                 = config.GetString("gamemode");
            tmpObject.broadcast_console_to_ops = config.GetString("broadcast-console-to-ops").ToLower() == "true" ? true : false;
            tmpObject.enable_query             = config.GetString("enable-querys").ToLower() == "true" ? true : false;
            int.TryParse(config.GetString("player-idle-timeout"), out tmpObject.player_idle_timeout);
            tmpObject.difficulty            = config.GetString("difficulty");
            tmpObject.spawn_monsters        = config.GetString("spawn-monsters").ToLower() == "true" ? true : false;
            tmpObject.broadcast_rcon_to_ops = config.GetString("broadcast-rcon-to-ops").ToLower() == "true" ? true : false;
            int.TryParse(config.GetString("op-permission-level"), out tmpObject.player_idle_timeout);
            tmpObject.pvp                  = config.GetString("pvp").ToLower() == "true" ? true : false;
            tmpObject.snooper_enabled      = config.GetString("snooper-enabled").ToLower() == "true" ? true : false;
            tmpObject.level_type           = config.GetString("level-type");
            tmpObject.hardcore             = config.GetString("hardcore").ToLower() == "true" ? true : false;
            tmpObject.enable_command_block = config.GetString("enable-command-block").ToLower() == "true" ? true : false;
            int.TryParse(config.GetString("max-players"), out tmpObject.max_players);
            int.TryParse(config.GetString("network-compression-threshold"), out tmpObject.network_compression_threshold);
            tmpObject.resource_pack_sha1 = config.GetString("resource-pack-sha1");
            int.TryParse(config.GetString("max-world-size"), out tmpObject.max_world_size);
            int.TryParse(config.GetString("rcon.port"), out tmpObject.rcon_port);
            int.TryParse(config.GetString("server-port"), out tmpObject.server_port);
            tmpObject.debug        = config.GetString("debug").ToLower() == "true" ? true : false;
            tmpObject.server_ip    = config.GetString("server-ip");
            tmpObject.spawn_npcs   = config.GetString("spawn-npcs").ToLower() == "true" ? true : false;
            tmpObject.allow_flight = config.GetString("allow-flight").ToLower() == "true" ? true : false;
            tmpObject.level_name   = config.GetString("level-name");
            int.TryParse(config.GetString("view-distance"), out tmpObject.view_distance);
            tmpObject.resource_pack       = config.GetString("resource-pack");
            tmpObject.spawn_animals       = config.GetString("spawn-animals").ToLower() == "true" ? true : false;
            tmpObject.white_list          = config.GetString("white-list").ToLower() == "true" ? true : false;
            tmpObject.rcon_password       = config.GetString("rcon.password");
            tmpObject.generate_structures = config.GetString("generate-structures").ToLower() == "true" ? true : false;
            int.TryParse(config.GetString("max-build-height"), out tmpObject.max_build_height);
            tmpObject.online_mode               = config.GetString("online-mode").ToLower() == "true" ? true : false;
            tmpObject.level_seed                = config.GetString("level-seed");
            tmpObject.use_native_transport      = config.GetString("use-native-transport").ToLower() == "true" ? true : false;
            tmpObject.prevent_proxy_connections = config.GetString("prevent-proxy-connections").ToLower() == "true" ? true : false;
            tmpObject.enable_rcon               = config.GetString("enable-rcon").ToLower() == "true" ? true : false;
            tmpObject.motd = config.GetString("motd");

            config.UnInit(false);
            //显示设置
            return(tmpObject);
        }