Пример #1
0
        protected BaseServer()
        {
            Log = Logs.Create(LogCategory.Network, GetType().Name);

            RecvClientState       = new TrafficCounter();
            RecvHandshakeRequest  = new TrafficCounter();
            RecvPacketRelay       = new TrafficCounter();
            SentTraffic           = new TrafficCounter();
            RecvDeltaChannelState = new TrafficCounter();

            var rand = new Random();

            while (_sessionId == 0)
            {
                _sessionId = unchecked ((uint)rand.Next());
            }

            _clients = new BroadcastingClientCollection <TPeer>(this);
            _relay   = new ServerRelay <TPeer>(this, _clients);

            serverAdmin                        = new ServerAdmin <TServer, TClient, TPeer>((TServer)this);
            _clients.OnClientJoined           += serverAdmin.InvokeOnClientJoined;
            _clients.OnClientLeft             += serverAdmin.InvokeOnClientLeft;
            _clients.OnClientEnteredRoomEvent += serverAdmin.InvokeOnClientEnteredRoom;
            _clients.OnClientExitedRoomEvent  += serverAdmin.InvokeOnClientExitedRoom;
            _relay.OnRelayingPacket           += serverAdmin.InvokeOnRelayingPacket;

            Log.Info("Created server with SessionId:{0}", _sessionId);
        }
Пример #2
0
        public virtual StatsServer[] GetServers()
        {
            ServerAdmin srvAdmin = new ServerAdmin();

            PrepareProxy(srvAdmin);

            ServerInfoArrayResult result = srvAdmin.GetServers(Username, Password);

            if (result.Servers == null)
            {
                return new StatsServer[] { }
            }
            ;

            StatsServer[] servers = new StatsServer[result.Servers.Length];
            for (int i = 0; i < servers.Length; i++)
            {
                servers[i]          = new StatsServer();
                servers[i].ServerId = result.Servers[i].ServerID;
                servers[i].Name     = result.Servers[i].Name;
                servers[i].Ip       = result.Servers[i].IP;
            }

            return(servers);
        }
Пример #3
0
 public Server()
 {
     admin = new ServerAdmin(this);
     eventMgr = new ServerEventManager(this);
     if(!LoadState())
         sessions = new Dictionary<int, Session>();
     instance = this;
 }
Пример #4
0
        public IActionResult SendCommand([FromBody] Command cmd)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var admin = new ServerAdmin(HttpContext.User.Identity);

            var server = new Server(admin.ServerIp.ToString(), admin.ServerPort);
            var rcon   = new RCON(server.Ip, server.Port, admin.Password);
            var result = rcon.SendCommandAsync(cmd.Cmd);

            return(Ok(result));
        }
Пример #5
0
 protected internal virtual void  DeleteBase(System.String baseName)
 {
     if (isLocal)
     {
         IOUtil.DeleteFile(baseName);
     }
     else
     {
         ServerAdmin               sa       = new ServerAdmin(HOST, PORT);
         DeleteBaseMessage         message  = new DeleteBaseMessage(baseName);
         DeleteBaseMessageResponse rmessage = (DeleteBaseMessageResponse)sa.sendMessage(message);
         if (rmessage.HasError())
         {
             throw new ODBRuntimeException(NeoDatisError.InternalError.AddParameter(rmessage.GetError()));
         }
     }
 }