public ArenaClientForm() { InitializeComponent(); MyIniParser = new IniParser(); string strWidth = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_WINDOW_WIDTH, 800); string strHeight = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_WINDOW_HEIGHT, 500); int width, height; if (int.TryParse(strWidth, out width)) this.Width = width; if (int.TryParse(strHeight, out height)) this.Height = height; LoginUserNameTextBox.Text = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_LOGIN_NAME, string.Empty); //ServerAddressComboBox.Text = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_ADDRESS, "127.0.0.1:30000"); string[] serverList = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_LIST, string.Empty).Split(','); foreach (string s in serverList) { if (s != string.Empty) { ServerAddressComboBox.Items.Add(s); ServerListCount++; } } if (ServerListCount > 0) { ServerAddressComboBox.SelectedIndex = 0; ServerAddressComboBox.Text = (string)ServerAddressComboBox.SelectedItem; } else { ServerAddressComboBox.Text = string.Empty; } ServerAddressComboBox.Items.Add("----------履歴----------"); serverList = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_HISTORY, string.Empty).Split(','); foreach (string s in serverList) { if (s != string.Empty) { if (ServerHistory.Count >= MaxServerHistory) break; ServerAddressComboBox.Items.Add(s); ServerHistory.Add(s); } } ServerHistory.Reverse(); GoTo(OperationMode.Offline); ArenaSessionClient = new AsyncTcpClient(new SessionHandler(this)); ArenaTunnelClient = new AsyncUdpClient(new TunnelHandler(this)); //UdpPortTextBox_TextChanged(null, null); ResetServerStatusBar(); RefreshLanAdapterList(); AppendToChatTextBoxDelegate = delegate(string message, Color color, CheckBox notDisplay) { if (notDisplay != null && notDisplay.Checked) return; try { ChatLogTextBox.AppendText(message); ChatLogTextBox.AppendText(Environment.NewLine); //ChatLogTextBox.ScrollToCaret(); } catch (Exception ex) { logTextBox.AppendText(message); logTextBox.AppendText(ex.ToString()); } }; string software = String.Format("{0} アリーナクライアント バージョン: {1}", ApplicationConstants.APP_NAME, ApplicationConstants.VERSION); AppendToChatTextBoxDelegate(software, Color.DarkGreen, null); AppendToChatTextBoxDelegate("プロトコル: " + Protocol1Constants.PROTOCOL_NUMBER, Color.DarkGreen, null); ThreadPool.QueueUserWorkItem(new WaitCallback(PendingLogPollingLoop)); }
public static int Main(String[] args) { Console.WriteLine("{0} アリーナサーバー バージョン: {1}", ApplicationConstants.APP_NAME, ApplicationConstants.VERSION); IniParser p = new IniParser(); int port; if (!int.TryParse(p.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_PORT), out port)) port = 30000; int maxUsers; if (!int.TryParse(p.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_MAX_USERS), out maxUsers)) maxUsers = 20; int maxRooms; if (!int.TryParse(p.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_MAX_ROOMS), out maxRooms)) maxRooms = 3; switch (args.Length) { case 2: maxUsers = Int32.Parse(args[1]); port = Int32.Parse(args[0]); break; case 1: port = Int32.Parse(args[0]); break; default: break; } p.SetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_PORT, port.ToString()); p.SetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_MAX_USERS, maxUsers.ToString()); p.SetSetting(IniConstants.SECTION_SETTINGS, IniConstants.SERVER_MAX_ROOMS, maxRooms.ToString()); p.SaveSettings(); Protocol1ArenaEngine engine = new Protocol1ArenaEngine(); try { engine.MaxPlayers = maxUsers; engine.MaxRooms = maxRooms; engine.StartListening(new IPEndPoint(IPAddress.Any, port)); while (true) { //Console.Write(">"); string cmd = Console.ReadLine(); //if (cmd == "") break; } } catch (Exception e) { Console.WriteLine(e.ToString()); Console.ReadLine(); } finally { engine.StopListening(); } return 0; }