Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /var/www/ct/forums/wiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/ct/forums/wiki/includes/MagicWord.php on line 739
Crazy Tronners Wiki - Running a Server

Running a Server

From Tronwiki
Jump to: navigation, search
(All on one screen session)
 
Line 1: Line 1:
 
How to use all these new features on a server. Scripts.
 
How to use all these new features on a server. Scripts.
 
Php is the language used by most, but bash, perl, python, anything that can read text from standard input and write to a text file should work.
 
Php is the language used by most, but bash, perl, python, anything that can read text from standard input and write to a text file should work.
 
+
= Running the scripted server =
== Running a Scripted Server in one screen session ==
+
== All on one screen session ==
To start the server, which will read the file edlog.txt, feed that into the parser script, then write the output of that into arma server, which will use tee to display the console log, use something like this shell script:  
+
To start the server, which will read the all important file [[ladderlog|ladderlog.txt]], feed that into the parser script, then write the output of that into arma server, which will use tee to display the console log, use something like this shell script:  
  
 
  #!/bin/sh
 
  #!/bin/sh
Line 11: Line 11:
 
  userconfigdir="/path/to/config/"
 
  userconfigdir="/path/to/config/"
 
  parser="/path/to/parser.php"
 
  parser="/path/to/parser.php"
  edlog="${var}edlog.txt"
+
  ladderlog="${var}ladderlog.txt"
+
 
  tail -n0 -f -s 0.01 $edlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var | tee -a $log
+
  tail -n0 -f -s 0.01 $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var | tee -a $log
  
== Running a Scripted Server on 2 screen sessions for more flexibility ==
+
== On two screen sessions for more flexibility ==
Alternativey, for debugging, you might want to write the cmds to a seperate text file for reading. This allows you to modify and restart the parser as the server is running it.
+
Alternatively, for debugging, you might want to write the cmds to a separate text file for reading. This allows you to modify and restart the parser as the server is running.
  
  tail -f -n0 -s 0.01 /path/to/edlog.txt | /path/to/parser.php | tee -a /path/to/cmds.txt
+
  tail -f -n0 -s 0.01 /path/to/ladderlog.txt | /path/to/parser.php | tee -a /path/to/cmds.txt
  
 
Then run the server on a separate screen session with:
 
Then run the server on a separate screen session with:
Line 28: Line 28:
 
  userconfigdir="/path/to/config/"
 
  userconfigdir="/path/to/config/"
 
  parser="/path/to/parser.php"
 
  parser="/path/to/parser.php"
  edlog="${var}edlog.txt"
+
  ladderlog="${var}ladderlog.txt"
 
  cmds="${var}cmds.txt"
 
  cmds="${var}cmds.txt"
 
+
 
  tail -n0 -f -s 0.01 $cmds | $tron --userconfigdir $userconfigdir --vardir $var | tee -a $log
 
  tail -n0 -f -s 0.01 $cmds | $tron --userconfigdir $userconfigdir --vardir $var | tee -a $log
  
===The Scripts===
+
=Sample Scripts=
 
==Random Flying Deathzones==
 
==Random Flying Deathzones==
 
A server that sends 2 deathzones of random size and speed in opposite directions at alternating corners every 10 seconds.
 
A server that sends 2 deathzones of random size and speed in opposite directions at alternating corners every 10 seconds.
Line 81: Line 81:
 
         $keywords = preg_split("/ /", $line);
 
         $keywords = preg_split("/ /", $line);
 
         $game_time=$keywords[1];
 
         $game_time=$keywords[1];
    if ( $game_time == 0 ) {
+
        if ( $game_time == 0 ){
        for ( $i=0; $i<=500; $i+=50 )
+
            for ( $i=0; $i<=500; $i+=50 )
        for ( $j=0; $j<=500; $j+=50 )
+
                for ( $j=0; $j<=500; $j+=50 )
        print("spawn_zone death $i $j 1 0\n");
+
                    print("spawn_zone death $i $j 1 0\n");
    } else if ( $game_time % 14 == 0 ) {
+
        } else if ( $game_time % 14 == 0 ){
        for ( $i=0; $i<=500; $i+=100 )
+
            for ( $i=0; $i<=500; $i+=100 ){
            for ( $j=0; $j<=500; $j+=100 )
+
                for ( $j=0; $j<=500; $j+=100 ){
                print("spawn_zone death $i $j " . $game_time/2 . " -" . $game_time/5 . "\n");
+
                    print("spawn_zone death $i $j " . $game_time/2 . " -" . $game_time/5 . "\n");
    } else if ( $game_time % 7 == 0 ) {
+
                    usleep(20000);
        for ( $i=50; $i<=450; $i+=100 )
+
                }
            for ( $j=50; $j<=450; $j+=100 )
+
            }
                print("spawn_zone death $i $j " . $game_time/2 . " -" . $game_time/5 . "\n");
+
        } else if ( $game_time % 7 == 0 ) {
 +
            for ( $i=50; $i<=450; $i+=100 ){
 +
                for ( $j=50; $j<=450; $j+=100 ){
 +
                    print("spawn_zone death $i $j " . $game_time/2 . " -" . $game_time/5 . "\n");
 +
                    usleep(20000);
 +
                }
 
             }
 
             }
 
         }
 
         }
 
     }
 
     }
?></nowiki>
+
}
 +
?>
 +
</nowiki>
 +
==Zombies Attack==
 +
Create a grid of Zombies following every player.
 +
<nowiki>#!/usr/bin/php
 +
<?php
 +
while (1)  {
 +
    $line = rtrim(fgets(STDIN, 1024));
 +
    // watch the game time to update settings based on time
 +
    if (preg_match("/^GAME_TIME/", $line)){
 +
      $keywords = preg_split("/ /", $line);
 +
      $game_time=floor($keywords[1]);
 +
      if ( $game_time == -1 ) {
 +
          if ($current_map=="loopy_passages") {
 +
      print($zombie_spawn);
 +
      }
 +
      $zombie_spawn=""; 
 +
      }
 +
  }
 +
 
 +
if (preg_match("/^ONLINE_PLAYER/", $line)){
 +
        $keywords = preg_split("/ /", $line);
 +
            //make sure the player is playing
 +
      if(sizeof($keywords)==7){
 +
          //SPAWN_ZONE zombie <player> <x> <y> <size> <growth> <xdir> <ydir> <interactive> <r> <g> <b> <target_size>
 +
        $zombie_spawn.="SPAWN_ZONE zombie ".$keywords[1]." 1<x> <y> <size> <growth> <xdir> <ydir> 1 15 00 00 <target_size>\n";
 +
      }
 +
    }
 +
}
 +
?>
 +
</nowiki>

Latest revision as of 18:13, 15 April 2009

Personal tools