import java.io.*;
import java.net.*;

public class MultiUserServer {
	// Hier werden statische Klassen erzeugt
	public static Habbo[] users = new Habbo[100];
	public static Encoder encoding = new Encoder();
	public static MySQL database;
	
	/*
	 * Das ist das Hauptprogramm, beim Programmstart wird die Methode
	 * main() aufgerufen, bis jetzt werden hier nur Verbindungen
	 * angenommen und an den SocketManager weitergeleitet.
	 */
	public static void main(String[] args) {
		int port = 30000;
		if (args.length > 0)
			port = Integer.parseInt(args[0]);
		
		// Datenbankverbindung herstellen
		// Argumente: (host, username, passwort, datenbankname)
		database = new MySQL("localhost:3306", "root", "", "habbo");
		
		try {			
			ServerSocket server = new ServerSocket(port);
			System.out.println("Server gestartet an Port " + port);
			while (true) {
				Socket s = server.accept();
				s.setSoTimeout(300000); // Warte maximal 5 Minuten auf neue Packets
				new SocketManager(s).start();
			}
		}
		catch (IOException e) {
			e.printStackTrace();
		}
	}
}
