forked from TansuoTro/MineRealmsUupdateSystem-Server
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProgram.cs
More file actions
81 lines (71 loc) · 3.07 KB
/
Program.cs
File metadata and controls
81 lines (71 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ESFramework;
using System.Xml;
using System.IO;
using ESFramework.Server.UserManagement;
using MRUS.Core;
using System.Configuration;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;
using System.Net;
using ESPlus;
namespace MRUS.Server
{
/// <summary>
/// 说明:
/// MRUS使用的是免费版的通信框架ESFramework,最多支持10个人同时在线更新。如果要突破10人限制,请联系 www.oraycn.com
/// </summary>
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
private static ESPlus.Rapid.IRapidServerEngine RapidServerEngine = ESPlus.Rapid.RapidEngineFactory.CreateServerEngine();
internal static UpdateConfiguration UpgradeConfiguration = null;
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//如果是其它类型的授权用户,请使用下面的语句设定正确的授权用户ID和密码。
GlobalUtil.SetAuthorizedUser("FreeUser", "");
//初始化服务端引擎
CustomizeHandler customizeHandler = new CustomizeHandler();
int port = int.Parse(ConfigurationManager.AppSettings["Port"]);
RapidServerEngine.WriteTimeoutInSecs = -1;
RapidServerEngine.Initialize(port, customizeHandler);
//动态生成或加载配置信息
if (!File.Exists(UpdateConfiguration.ConfigurationPath))
{
Program.UpgradeConfiguration = new UpdateConfiguration();
Program.UpgradeConfiguration.Save();
}
else
{
UpgradeConfiguration = (UpdateConfiguration)UpdateConfiguration.Load(UpdateConfiguration.ConfigurationPath);
}
customizeHandler.Initialize(RapidServerEngine.FileController, Program.UpgradeConfiguration);
bool remoting = bool.Parse(ConfigurationManager.AppSettings["RemotingServiceEnabled"]);
if (remoting)
{
ChannelServices.RegisterChannel(new TcpChannel(port + 2), false);
MRUSService service = new MRUSService(Program.UpgradeConfiguration);
RemotingServices.Marshal(service, "MRUSService");
}
//显示默认主窗体
MainForm mainForm = new MainForm(Program.RapidServerEngine);
mainForm.Text = ConfigurationManager.AppSettings["Title"];
Application.Run(mainForm);
}
catch (Exception ee)
{
MessageBox.Show(ee.Message+" - " + ee.StackTrace);
}
}
}
}