Ejemplo n.º 1
0
        public void Startup(IServiceProvider serviceProvider)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            _logger = serviceProvider.GetRequiredService <ILogger>();

            _engine = serviceProvider.GetRequiredService <IServerEngine>();

            _engineModels = serviceProvider.GetRequiredService <IServerModels>();

            if (_engine.IsDedicatedServer)
            {
                GameBridge = Shared.Bridge.GameBridge.CreateBridge(null);
            }
            else
            {
                GameBridge = (GameBridge)serviceProvider.GetRequiredService <IBridge>();
            }

            _networking = serviceProvider.GetRequiredService <ServerNetworking>();

            _entities = serviceProvider.GetRequiredService <ServerEntities>();

            _entities.Startup();
        }
Ejemplo n.º 2
0
 public bool CheckPassword(string name, string password)
 {
     try
     {
         using (var ent = new ServerEntities())
         {
             var query = (from ui in ent.Client_Info
                          where ui.Client_Uname == name && ui.Client_Upass == password
                          select ui).FirstOrDefault <Client_Info>();
             if (query == null)
             {
                 this.clientinfo = false;
             }
             else
             {
                 this.clientinfo = true;
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Write(ex.Message, ChitChatAPI.Enums.LogLevel.Error, ConsoleColor.Red);
     }
     return(clientinfo);
 }
Ejemplo n.º 3
0
        public bool _Details(string username)
        {
            bool s = false;

            using (var ent = new ServerEntities())
            {
                var query = (from ci in ent.Client_Info
                             join cd in ent.Client_Details on ci.id equals cd.Client_Id
                             where ci.Client_Uname == username

                             select new
                {
                    cd.IsLogged
                });

                foreach (var q in query)
                {
                    if (q.IsLogged == true)
                    {
                        s = true;
                    }
                }
            }

            return(s);
        }
Ejemplo n.º 4
0
 public static TableStatu GetEngineStat()
 {
     try
     {
         using (ServerEntities db = new ServerEntities())
         {
             return(db.TableStatus.FirstOrDefault());
         }
     }
     catch (Exception)
     {
         return(new TableStatu()
         {
             CurrentFolder = string.Empty,
             Id = 1,
             LastBatchCount = 0,
             LastStart = DateTime.Now,
             MaxValue = 0,
             Value = 0,
             Status = string.Empty,
             TotalConvert = 0
         });
         // throw;
     }
 }
Ejemplo n.º 5
0
        public GamePhysics(ILogger logger,
                           ITime engineTime, SnapshotTime gameTime,
                           ServerEntities entities, ServerEntityList entityList,
                           BSPModel worldModel,
                           ICommandContext commandContext)
        {
            _logger     = logger ?? throw new ArgumentNullException(nameof(logger));
            _engineTime = engineTime ?? throw new ArgumentNullException(nameof(engineTime));
            _gameTime   = gameTime ?? throw new ArgumentNullException(nameof(gameTime));
            _entities   = entities ?? throw new ArgumentNullException(nameof(entities));
            _entityList = entityList ?? throw new ArgumentNullException(nameof(entityList));
            _worldModel = worldModel ?? throw new ArgumentNullException(nameof(worldModel));

            //TODO: need to reset this on map spawn for singleplayer
            //TODO: mark as server cvar
            _sv_clienttrace = commandContext.RegisterVariable(
                new VariableInfo("sv_clienttrace")
                .WithHelpInfo("Scale multiplier for trace lines ran against studio models")
                .WithValue(1)
                .WithNumberFilter());

            InitBoxHull();

            box_hull = new Hull[1]
            {
                new Hull(0, PhysicsConstants.MaxBoxSides, Vector3.Zero, Vector3.Zero, box_clipnodes, new Memory <Models.BSP.FileFormat.Plane>(box_planes))
            };

            CreateAreaNode(0, ref _worldModel.SubModel.Mins, ref _worldModel.SubModel.Maxs);
        }
Ejemplo n.º 6
0
 public ServerEntityList(
     EntityDictionary entityDictionary,
     int maxClients,
     INetworkObjectList entitiesNetworkList,
     ServerEntities entities)
     : base(entityDictionary, maxClients)
 {
     _entitiesNetworkList = entitiesNetworkList ?? throw new ArgumentNullException(nameof(entitiesNetworkList));
     _entities            = entities ?? throw new ArgumentNullException(nameof(entities));
 }
Ejemplo n.º 7
0
 public static void UpdateEngine(TableStatu stat)
 {
     try
     {
         using (ServerEntities db = new ServerEntities())
         {
             db.Entry(stat).State = EntityState.Modified;
             db.SaveChanges();
         }
     }
     catch (Exception err)
     {
         Global.LogError(err);
         // throw;
     }
 }
Ejemplo n.º 8
0
        public void Deactivate(string username)
        {
            try
            {
                using (var ent = new ServerEntities())
                {
                    var result = (from ci in ent.Client_Info
                                  join cd in ent.Client_Details on ci.id equals cd.Client_Id
                                  where ci.Client_Uname == username
                                  select cd).FirstOrDefault <Client_Details>();
                    //if (result == null)
                    result.IsLogged = false;

                    ent.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                Logger.Write(ex.Message, ChitChatAPI.Enums.LogLevel.Error, ConsoleColor.Red);
            }
        }
Ejemplo n.º 9
0
        public GameMovement(ILogger logger, ITime engineTime, SnapshotTime gameTime,
                            IServerClients serverClients,
                            ServerEntities entities, ServerEntityList entityList,
                            Random random,
                            GamePhysics physics,
                            ICommandContext commandContext)
        {
            _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
            _engineTime    = engineTime ?? throw new ArgumentNullException(nameof(engineTime));
            _gameTime      = gameTime ?? throw new ArgumentNullException(nameof(gameTime));
            _serverClients = serverClients ?? throw new ArgumentNullException(nameof(serverClients));
            _entities      = entities ?? throw new ArgumentNullException(nameof(entities));
            _entityList    = entityList ?? throw new ArgumentNullException(nameof(entityList));
            _random        = random ?? throw new ArgumentNullException(nameof(random));
            _physics       = physics ?? throw new ArgumentNullException(nameof(physics));

            //TODO: add a filter to enforce positive values only
            _sv_maxvelocity = commandContext.RegisterVariable(
                new VariableInfo("sv_maxvelocity")
                .WithHelpInfo("The maximum velocity in any axis that an entity can have. Any velocity greater than this is clamped to this value")
                .WithValue(2000)
                .WithNumberFilter()
                .WithNumberSignFilter(true));

            //TODO: mark as server cvar
            _sv_stepsize = commandContext.RegisterVariable(
                new VariableInfo("sv_stepsize")
                .WithHelpInfo("Defines the maximum height that characters can still step over (e.g. stairs)")
                .WithValue(18)
                .WithNumberFilter()
                .WithNumberSignFilter(true));

            //TODO: mark as server cvar
            _sv_bounce = commandContext.RegisterVariable(
                new VariableInfo("sv_bounce")
                .WithHelpInfo("Multiplier for physics bounce effect when objects collide with other objects")
                .WithValue(1)
                .WithNumberFilter()
                .WithNumberSignFilter(true));

            //TODO: mark as server cvar
            _sv_gravity = commandContext.RegisterVariable(
                new VariableInfo("sv_gravity")
                .WithHelpInfo("The world's gravity amount, in units per second")
                .WithValue(800)
                .WithNumberFilter());

            //TODO: mark as server cvar
            _sv_stopspeed = commandContext.RegisterVariable(
                new VariableInfo("sv_stopspeed")
                .WithHelpInfo("Minimum stopping speed when on the ground")
                .WithValue(100)
                .WithNumberFilter()
                .WithNumberSignFilter(true));

            //TODO: mark as server cvar
            _sv_friction = commandContext.RegisterVariable(
                new VariableInfo("sv_friction")
                .WithHelpInfo("World friction")
                .WithValue(4)
                .WithNumberFilter()
                .WithNumberSignFilter(true));
        }
Ejemplo n.º 10
0
 public ServerNetworking(IEngineModels engineModels, GameServer gameServer, ServerEntities entities)
 {
     _engineModels = engineModels ?? throw new ArgumentNullException(nameof(engineModels));
     _gameServer   = gameServer ?? throw new ArgumentNullException(nameof(gameServer));
     _entities     = entities ?? throw new ArgumentNullException(nameof(entities));
 }