Beispiel #1
0
        public static void Main(string[] args)
        {
#if !DEBUG
            try
            {
#endif
            Config.Load(args);

            BanlistManager.Init(Config.GetString("BanlistFile", "lflist.conf"));
            Api.Init(Config.GetString("RootPath", "."), Config.GetString("ScriptDirectory", "script"), Config.GetString("DatabaseFile", "cards.cdb"));

            ClientVersion = Config.GetUInt("ClientVersion", ClientVersion);

            CoreServer server = new CoreServer();
            server.Start();
            while (server.IsRunning)
            {
                server.Tick();
                Thread.Sleep(1);
            }
#if !DEBUG
        }

        catch (Exception ex)
        {
            File.WriteAllText("crash_" + DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss") + ".txt", ex.ToString());
        }
#endif
        }
Beispiel #2
0
        public static void Main(string[] args)
        {
            #if !DEBUG
            try
            {
            #endif

                CoreConfig config = new CoreConfig();
                if (args.Length != 2 || !config.Load(args[0], args[1]))
                    return;

                BanlistManager.Init("lflist.conf");
                Api.Init();

                CoreServer server = new CoreServer(config);
                server.Start();
                while (server.IsRunning)
                {
                    server.Tick();
                    Thread.Sleep(1);
                }
            #if !DEBUG
            }
            catch (Exception ex)
            {
                File.WriteAllText("crash_" + DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss") + ".txt", ex.ToString());
            }
            #endif
        }
Beispiel #3
0
        public Game(CoreServer server)
        {
            State         = GameState.Lobby;
            IsMatch       = Config.GetInt("Mode") == 1;
            IsTag         = Config.GetInt("Mode") == 2;
            CurrentPlayer = 0;
            LifePoints    = new int[2];
            Players       = new Player[IsTag ? 4 : 2];
            CurPlayers    = new Player[2];
            IsReady       = new bool[IsTag ? 4 : 2];
            _handResult   = new int[2];
            _timelimit    = new int[2];
            Winner        = -1;
            MatchResults  = new int[3];
            MatchReasons  = new int[3];
            Observers     = new List <Player>();

            int lfList = Config.GetInt("Banlist");

            if (lfList >= 0 && lfList < BanlistManager.Banlists.Count)
            {
                Banlist = BanlistManager.Banlists[lfList];
            }

            LifePoints[0] = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);
            LifePoints[1] = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);

            _server   = server;
            _analyser = new GameAnalyser(this);
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
#if !DEBUG
            try
            {
#endif
                Config.Load(args);

                BanlistManager.Init(Config.GetString("BanlistFile", "lflist.conf"));
                Api.Init(Config.GetString("RootPath", "."), Config.GetString("ScriptDirectory", "script"), Config.GetString("DatabaseFile", "cards.cdb"));

                ClientVersion = Config.GetUInt("ClientVersion", ClientVersion);

                CoreServer server = new CoreServer();
                server.Start();
                while (server.IsRunning)
                {
                    server.Tick();
                    Thread.Sleep(1);
                }
#if !DEBUG
            }
            catch (Exception ex)
            {
                File.WriteAllText("crash_" + DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss") + ".txt", ex.ToString());
            }
#endif
        }
Beispiel #5
0
        public Game(CoreServer server)
        {
            State = GameState.Lobby;
            IsMatch = Config.GetInt("Mode") == 1;
            IsTag = Config.GetInt("Mode") == 2;
            CurrentPlayer = 0;
            LifePoints = new int[2];
            Players = new Player[IsTag ? 4 : 2];
            CurPlayers = new Player[2];
            IsReady = new bool[IsTag ? 4 : 2];
            _handResult = new int[2];
            _timelimit = new int[2];
            Winner = -1;
            MatchResults = new int[3];
            MatchReasons = new int[3];
            Observers = new List<Player>();

            int lfList = Config.GetInt("Banlist");
            if (lfList >= 0 && lfList < BanlistManager.Banlists.Count)
                Banlist = BanlistManager.Banlists[lfList];

            LifePoints[0] = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);
            LifePoints[1] = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);

            _server = server;
            _analyser = new GameAnalyser(this);
        }
Beispiel #6
0
 public CoreClient(CoreServer server, TcpClient client) {
     IsConnected = true;
     Game = server.Game;
     Player = new Player(this);
     _server = server;
     _client = client;
     _reader = new BinaryReader(_client.GetStream());
     _recvQueue = new Queue<GameClientPacket>();
     _sendQueue = new Queue<byte[]>();
     _receivedLen = -1;
 }
Beispiel #7
0
 public CoreClient(CoreServer server, TcpClient client)
 {
     IsConnected  = true;
     Game         = server.Game;
     Player       = new Player(this);
     _server      = server;
     _client      = client;
     _reader      = new BinaryReader(_client.GetStream());
     _recvQueue   = new Queue <GameClientPacket>();
     _sendQueue   = new Queue <byte[]>();
     _receivedLen = -1;
 }
Beispiel #8
0
        public Game(CoreServer server)
        {
            State  = GameState.Lobby;
            Mode   = Config.GetInt("Mode");
            Region = Config.GetInt("Rule", -1);
            if (Region != -1)
            {
                Console.Error.WriteLine("'Rule' is deprecated, please use 'Region' instead.");
            }
            else
            {
                Region = Config.GetInt("Region");
            }
            MasterRule = Config.GetInt("MasterRule", 3);

            IsMatch       = Mode == 1;
            IsTag         = Mode == 2;
            CurrentPlayer = 0;
            LifePoints    = new int[2];
            Players       = new Player[IsTag ? 4 : 2];
            CurPlayers    = new Player[2];
            IsReady       = new bool[IsTag ? 4 : 2];
            _handResult   = new int[2];
            _timelimit    = new int[2];
            Winner        = -1;
            MatchResults  = new int[3];
            MatchReasons  = new int[3];
            Observers     = new List <Player>();

            int lfList = Config.GetInt("Banlist");

            if (lfList >= 0 && lfList < BanlistManager.Banlists.Count)
            {
                Banlist = BanlistManager.Banlists[lfList];
            }

            StartLp        = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);
            LifePoints[0]  = StartLp;
            LifePoints[1]  = StartLp;
            StartHand      = Config.GetInt("StartHand", DEFAULT_START_HAND);
            DrawCount      = Config.GetInt("DrawCount", DEFAULT_DRAW_COUNT);
            EnablePriority = Config.GetBool("EnablePriority");
            NoCheckDeck    = Config.GetBool("NoCheckDeck");
            NoShuffleDeck  = Config.GetBool("NoShuffleDeck");
            Timer          = Config.GetInt("GameTimer", DEFAULT_TIMER);

            _server   = server;
            _analyser = new GameAnalyser(this);
        }
Beispiel #9
0
 public Game(CoreServer server, CoreConfig config) {
     Config = config;
     State = GameState.Lobby;
     IsMatch = config.Mode == 1;
     IsTag = config.Mode == 2;
     CurrentPlayer = 0;
     LifePoints = new int[2];
     Players = new Player[IsTag ? 4 : 2];
     CurPlayers = new Player[2];
     IsReady = new bool[IsTag ? 4 : 2];
     _handResult = new int[2];
     _timelimit = new int[2];
     _matchResult = new int[3];
     Observers = new List<Player>();
     if (config.LfList >= 0 && config.LfList < BanlistManager.Banlists.Count)
         Banlist = BanlistManager.Banlists[config.LfList];
     _server = server;
     _analyser = new GameAnalyser(this);
     ReloadGameConfig();
 }
Beispiel #10
0
 public Game(CoreServer server, CoreConfig config)
 {
     Config        = config;
     State         = GameState.Lobby;
     IsMatch       = config.Mode == 1;
     IsTag         = config.Mode == 2;
     CurrentPlayer = 0;
     LifePoints    = new int[2];
     Players       = new Player[IsTag ? 4 : 2];
     CurPlayers    = new Player[2];
     IsReady       = new bool[IsTag ? 4 : 2];
     _handResult   = new int[2];
     _timelimit    = new int[2];
     _matchResult  = new int[3];
     Observers     = new List <Player>();
     if (config.LfList >= 0 && config.LfList < BanlistManager.Banlists.Count)
     {
         Banlist = BanlistManager.Banlists[config.LfList];
     }
     _server   = server;
     _analyser = new GameAnalyser(this);
     ReloadGameConfig();
 }
Beispiel #11
0
        public Game(CoreServer server)
        {
            State = GameState.Lobby;
            Mode = Config.GetInt("Mode");
            Rule = Config.GetInt("Rule");
            IsMatch = Mode == 1;
            IsTag = Mode == 2;
            CurrentPlayer = 0;
            LifePoints = new int[2];
            Players = new Player[IsTag ? 4 : 2];
            CurPlayers = new Player[2];
            IsReady = new bool[IsTag ? 4 : 2];
            _handResult = new int[2];
            _timelimit = new int[2];
            Winner = -1;
            MatchResults = new int[3];
            MatchReasons = new int[3];
            Observers = new List<Player>();

            int lfList = Config.GetInt("Banlist");
            if (lfList >= 0 && lfList < BanlistManager.Banlists.Count)
                Banlist = BanlistManager.Banlists[lfList];

            StartLp = Config.GetInt("StartLp", DEFAULT_LIFEPOINTS);
            LifePoints[0] = StartLp;
            LifePoints[1] = StartLp;
            StartHand = Config.GetInt("StartHand", DEFAULT_START_HAND);
            DrawCount = Config.GetInt("DrawCount", DEFAULT_DRAW_COUNT);
            EnablePriority = Config.GetBool("EnablePriority");
            NoCheckDeck = Config.GetBool("NoCheckDeck");
            NoShuffleDeck = Config.GetBool("NoShuffleDeck");
            Timer = Config.GetInt("GameTimer", DEFAULT_TIMER);

            _server = server;
            _analyser = new GameAnalyser(this);
        }
Beispiel #12
0
        public static void Main(string[] args)
        {
            try {
                CoreConfig config = new CoreConfig();
                if (args.Length != 2 || !config.Load(args[0], args[1]))
                {
                    return;
                }

                BanlistManager.Init("lflist.conf");
                Api.Init();

                CoreServer server = new CoreServer(config);
                server.Start();
                while (server.IsRunning)
                {
                    server.Tick();
                    Thread.Sleep(1);
                }
            }
            catch (Exception ex) {
                File.WriteAllText("crash_" + DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss") + ".txt", ex.ToString());
            }
        }