package Server;

import java.io.*;
import java.util.*;

public class Main{
  static Map<String,String[]> $usr = null;
  static TCP $tcp = null;
  static UDP $udp = null;

static public void main(String[] $args)throws Exception{
  if($args.length != 2){
    System.out.println("usage: java Server.Main <tcpPort> <udpPort>");
    System.exit(1);
  }
  System.out.println("SERVER Starting...");

  $usr = Collections.synchronizedMap(new HashMap());
  BufferedReader $bufr = new BufferedReader(new InputStreamReader(ClassLoader.getSystemResourceAsStream("users.properties")));
  String $line;
  while(($line = $bufr.readLine()) != null){
    $line = $line.trim();
    if($line.length() > 1 && $line.charAt(0) == '=')continue;
    if($line.length() <= 1)continue;
    String[] $tmp = $line.split("=");
    String[] $udata = new String[3];
    $udata[0]=$tmp[0].trim(); //usrnme
    if($tmp.length >= 2)$udata[1]=$tmp[1].trim(); else throw new Exception("All users have to have a password! check your user-file");//passwd
    $udata[2]="never seen online!";
    $usr.put($udata[0],$udata);    
  }
  System.out.println("SERVER Users.");

  $tcp = new TCP(Integer.parseInt($args[0]));
  System.out.println("SERVER TCP: "+$args[0]);

  $udp = new UDP(Integer.parseInt($args[1]));
  System.out.println("SERVER UDP: "+$args[1]);

  System.out.println("SERVER Running. Hit ENTER for shutdown.");
  while(true){
    int $i = Helper.readByte(System.in);
    System.out.println($i);
    if($i == 10 || $i == 13)break;
  }
  System.out.println("SERVER shutting down...");

  $udp.shutdown();
  $tcp.shutdown();
  //save userfile - NOT to implement

  System.out.println("SERVER bye!");
}
}