Advertisement
Guest User

Untitled

a guest
Sep 5th, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.14 KB | None | 0 0
  1. <?php
  2. $forbidden['java_properties'] = array(
  3.     "online-mode",
  4.     "server-ip",
  5.     "level-name",
  6.     "query.port",
  7.     "debug",
  8.     "max-players",
  9.     "rcon.port",
  10.     "enable-rcon",
  11.     "rcon.password",
  12.     "enable-query",
  13.     "snooper-enabled",
  14. );
  15.  
  16. $maxvals['java_properties'] = array(
  17.     "allow-nether"=>array("true","false"),
  18.     "announce-player-achievements" => array("true", "false"),
  19.     "difficulty"=>3,
  20.     "enable-command-block"=>array("true","false"),
  21.     "force-gamemode"=>array("true","false"),
  22.     "gamemode"=>3,
  23.     "generate-structures"=>array("true","false"),
  24.     "generator-settings"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  25.     "hardcore"=>array("true","false"),
  26.     "level-seed"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  27.     "level-type"=>array("DEFAULT","FLAT","LARGEBIOMES","AMPLIFIED","CUSTOMIZED"),
  28.     "max-build-height"=>256,
  29.     "motd"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  30.     "op-permission-level"=>4,
  31.     "player-idle-timeout"=>5*60,
  32.     "pvp"=>array("true","false"),
  33.     "resource-pack"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  34.     "server-name"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
  35.     "spawn-animals"=>array("true","false"),
  36.     "spawn-monsters"=>array("true","false"),
  37.     "spawn-npcs"=>array("true","false"),
  38.     "spawn-protection"=>32,
  39.     "view-distance"=>16,
  40.     "white-list"=>array("true","false"),
  41. );
  42.  
  43. function java_properties($txtProperties) {
  44.     global $forbidden;
  45.     $result = array();
  46.    
  47.     $lines = explode("\n", $txtProperties);
  48.     $key = "";
  49.    
  50.     $isWaitingOtherLine = false;
  51.     foreach($lines as $i=>$line) {
  52.         if(empty($line) || (!$isWaitingOtherLine && strpos($line,"#") === 0)) continue;
  53.    
  54.         if(!$isWaitingOtherLine) {
  55.             $key = substr($line,0,strpos($line,'='));
  56.             $value = substr($line,strpos($line,'=') + 1, strlen($line));
  57.         }else{
  58.             $value .= $line;
  59.         }
  60.  
  61.         if(strrpos($value,"\\") === strlen($value)-strlen("\\")) {
  62.             $value = substr($value, 0, strlen($value)-1)."\n";
  63.             $isWaitingOtherLine = true;
  64.         }else{
  65.             $isWaitingOtherLine = false;
  66.         }
  67.    
  68.         if(in_array($key, $forbidden['java_properties']) == TRUE) continue;
  69.    
  70.         $result[$key] = $value;
  71.         unset($lines[$i]);
  72.     }
  73.     ksort($result);
  74.     return $result;
  75. }
  76.  
  77. function java_properties_write($data){
  78.     global $forbidden, $maxvals;
  79.    
  80.     $content = "# Generated by BGP_Config";
  81.     $content .= "\n";
  82.     $content .= "# ".date("r");
  83.     $content .= "\n";
  84.     $content .= "\n";
  85.     $content .= "# User input";
  86.     $content .= "\n";
  87.    
  88.     foreach($data as $key => $value)
  89.     {
  90.         if(in_array($key, $forbidden['java_properties']) == TRUE)
  91.             return -1;
  92.         if(isset($maxvals['java_properties'][$key]))
  93.         {
  94.             if(is_array($maxvals['java_properties'][$key]) && !in_array($value, $maxvals['java_properties'][$key]))
  95.                 return array(false, ($key." is ".$value." but only allows: ".implode(", ", $maxvals['java_properties'][$key])));
  96.        
  97.             if(is_string($maxvals['java_properties'][$key]) && strlen($value) > strlen($maxvals['java_properties'][$key]))
  98.                 return array(false, $key." is too long. (Max: ".strlen($maxvals['java_properties'][$key]).")");
  99.        
  100.             if(is_int($maxvals['java_properties'][$key]) && ($value > $maxvals['java_properties'][$key] || $value < 0))
  101.                 return array(false,$key." is too big. (Max: ".$maxvals['java_properties'][$key].")");
  102.         }
  103.        
  104.         $content .= $key . "=".$value."\n";
  105.     }
  106.     return $content;
  107. }
  108.  
  109. function java_properties_append($server, $box){
  110.     $content = "\n";
  111.     $content .= "# Auto generated content";
  112.     $content .= "\n";
  113.    
  114.     $content .= "level-name=world";
  115.     $content .= "\n";
  116.     $content .= "server-ip=".$box['ip'];
  117.     $content .= "\n";
  118.     $content .= "online-mode=true";
  119.     $content .= "\n";
  120.     $content .= "query.port=".$server['queryport'];
  121.     $content .= "\n";
  122.     $content .= "debug=false";
  123.     $content .= "\n";
  124.     $content .= "max-players=".$server['slots'];
  125.     $content .= "\n";
  126.     $content .= "rcon.port=25575";
  127.     $content .= "\n";
  128.     $content .= "enable-rcon=false";
  129.     $content .= "\n";
  130.     $content .= "enable-query=true";
  131.     $content .= "\n";
  132.     $content .= "rcon.password=";
  133.     $content .= "\n";
  134.     $content .= "snooper-enabled=false";
  135.    
  136.     return $content;
  137. }
  138.  
  139. function java_properties_reset($server, $box){
  140.     $content = "# Generated by BGP_Config";
  141.     $content .= "\n";
  142.     $content .= "# ".date("r");
  143.     $content .= "\n";
  144.     $content .= "# Auto generated content";
  145.     $content .= "\n";
  146.    
  147.     $content .="allow-nether=true";
  148.     $content .= "\n";
  149.     $content .="announce-player-achievements=true";
  150.     $content .= "\n";
  151.     $content .="difficulty=1";
  152.     $content .= "\n";
  153.     $content .="enable-command-block=false";
  154.     $content .= "\n";
  155.     $content .="force-gamemode=false";
  156.     $content .= "\n";
  157.     $content .="gamemode=0";
  158.     $content .= "\n";
  159.     $content .="generate-structures=true";
  160.     $content .= "\n";
  161.     $content .="generator-settings=";
  162.     $content .= "\n";
  163.     $content .="hardcore=false";
  164.     $content .= "\n";
  165.     $content .="level-seed=";
  166.     $content .= "\n";
  167.     $content .="level-type=DEFAULT";
  168.     $content .= "\n";
  169.     $content .="max-build-height=256";
  170.     $content .= "\n";
  171.     $content .="motd=".$server['name'];
  172.     $content .= "\n";
  173.     $content .="op-permission-level=4";
  174.     $content .= "\n";
  175.     $content .="player-idle-timeout=0";
  176.     $content .= "\n";
  177.     $content .="pvp=true";
  178.     $content .= "\n";
  179.     $content .="resource-pack=";
  180.     $content .= "\n";
  181.     $content .="server-name=".$server['name'];
  182.     $content .= "\n";
  183.     $content .="snooper-enabled=true";
  184.     $content .= "\n";
  185.     $content .="spawn-animals=true";
  186.     $content .= "\n";
  187.     $content .="spawn-monsters=true";
  188.     $content .= "\n";
  189.     $content .="spawn-npcs=true";
  190.     $content .= "\n";
  191.     $content .="spawn-protection=16";
  192.     $content .= "\n";
  193.     $content .="view-distance=16";
  194.     $content .= "\n";
  195.     $content .="white-list=false";
  196.     $content .= "\n";
  197.     $content .= "level-name=world";
  198.     $content .= "\n";
  199.     $content .= "server-ip=".$box['ip'];
  200.     $content .= "\n";
  201.     $content .= "online-mode=true";
  202.     $content .= "\n";
  203.     $content .= "query.port=".$server['queryport'];
  204.     $content .= "\n";
  205.     $content .= "debug=false";
  206.     $content .= "\n";
  207.     $content .= "max-players=".$server['slots'];
  208.     $content .= "\n";
  209.     $content .= "rcon.port=25575";
  210.     $content .= "\n";
  211.     $content .= "enable-rcon=false";
  212.     $content .= "\n";
  213.     $content .= "enable-query=true";
  214.     $content .= "\n";
  215.     $content .= "rcon.password=";
  216.     $content .= "\n";
  217.     $content .= "snooper-enabled=false";
  218.    
  219.     return $content;
  220. }
  221. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement