Esempio n. 1
0
        public static void Shutdown()
        {
            if (Global.InHostShutdown)
            {
                Sys.DebugOutStraight("Host_Shutdown: Recursive shutdown.");
            }
            else
            {
                Global.InHostShutdown = true;
                Global.HostInit       = false;

                SV.ServerDeactivate();

                Mod.ClearAll();
                SV.ClearAllEntities();
                CM.FreePAS();
                SV.FreePMSimulator();

                SV.Shutdown();
                ReleaseEntityDLLs();
                Delta.Shutdown();
                NET.Shutdown();

                // if WADPath != nil then
                //  Mem.FreeAndNil(WADPath);

                Draw.DecalShutdown();
                W.Shutdown();
                HPAK.FlushHostQueue();
                Con.Shutdown();
                Cmd.RemoveGameCmds();
                Cmd.Shutdown();
                CVar.Shutdown();

                LPrint("Server shutdown\n");
                Log.Close();
                Global.RealTime = 0.0;
                SV.Time         = 0.0;
            }
        }
Esempio n. 2
0
        public static void Init()
        {
            Global.RealTime = 0.0;

            Trash.Rand_Init();
            CBuf.Init();
            Cmd.Init();
            CVar.Init();
            InitLocal();
            ClearSaveDirectory();
            Con.Init();
            HPAK.Init();

            SV.SetMaxClients();
            W.LoadWADFile();
            Decal.Init();
            Mod.Init();
            R.Init();
            NET.Init();
            Netchan.Init();
            Delta.Init();
            SV.Init();

            string buf = "asdasd"; // TODO

            CVar.DirectSet(ref Global.sv_version, buf);

            HPAK.CheckIntegrity("custom.hpk");
            CBuf.InsertText("exec valve.rc\n");
            Hunk.AllocName(0, "-HOST_HUNKLEVEL-");
            Global.HostHunkLevel = Hunk.LowMark;

            Global.HostActive    = 1;
            Global.HostNumFrames = 0;

            Global.HostTimes.Prev = Sys.FloatTime();
            Global.HostInit       = true;
        }
Esempio n. 3
0
        public static void Init()
        {
            // banid, removeid, listid, writeid, resetrcon
            Cmd.AddCommand("logaddress", SetLogAddress_F);
            Cmd.AddCommand("logaddress_add", AddLogAddress_F);
            Cmd.AddCommand("logaddress_del", DelLogAddress_F);
            Cmd.AddCommand("log", ServerLog_F);
            Cmd.AddCommand("serverinfo", Serverinfo_F);
            Cmd.AddCommand("localinfo", Localinfo_F);
            Cmd.AddCommand("showinfo", ShowServerinfo_F);
            Cmd.AddCommand("user", User_F);
            Cmd.AddCommand("users", Users_F);
            Cmd.AddCommand("dlfile", BeginFileDownload_F);
            // addip, removeip, listip, writeip
            Cmd.AddCommand("dropclient", Drop_F);
            Cmd.AddCommand("spawn", Spawn_F);
            Cmd.AddCommand("new", New_F);
            Cmd.AddCommand("sendres", SendRes_F);
            Cmd.AddCommand("sendents", SendEnts_F);
            Cmd.AddCommand("fullupdate", FullUpdate_F);

            // custom
            Cmd.AddCommand("entcount", ED.Count_F);

            // Custom
            CVar.RegisterVariable(ref Global.sv_allow47p);
            CVar.RegisterVariable(ref Global.sv_allow48p);
            CVar.RegisterVariable(ref Global.sv_maxipsessions);
            CVar.RegisterVariable(ref Global.sv_fullservermsg);
            CVar.RegisterVariable(ref Global.sv_limit_queries);
            //    CVar.RegisterVariable(ref Global.max_query_ips);
            CVar.RegisterVariable(ref Global.sv_enableoldqueries);
            CVar.RegisterVariable(ref Global.sv_mapcycle_length);
            CVar.RegisterVariable(ref Global.sv_secureflag);
            CVar.RegisterVariable(ref Global.sv_sendmapcrc);
            CVar.RegisterVariable(ref Global.sv_fullupdateinterval);
            CVar.RegisterVariable(ref Global.sv_sendentsinterval);
            CVar.RegisterVariable(ref Global.sv_sendresinterval);
            CVar.RegisterVariable(ref Global.sv_pinginterval);
            CVar.RegisterVariable(ref Global.sv_updatetime);
            CVar.RegisterVariable(ref Global.sv_keepframes);

            // Resource
            CVar.RegisterVariable(ref Global.sv_allowdownload);
            CVar.RegisterVariable(ref Global.sv_allowupload);
            CVar.RegisterVariable(ref Global.sv_uploadmax);
            CVar.RegisterVariable(ref Global.sv_uploadmaxnum);
            CVar.RegisterVariable(ref Global.sv_uploadmaxsingle);
            CVar.RegisterVariable(ref Global.sv_uploaddecalsonly);
            CVar.RegisterVariable(ref Global.sv_send_logos);
            CVar.RegisterVariable(ref Global.sv_send_resources);

            // SVClient
            CVar.RegisterVariable(ref Global.sv_defaultplayername);
            CVar.RegisterVariable(ref Global.sv_use2asnameprefix);
            CVar.RegisterVariable(ref Global.sv_maxupdaterate);
            CVar.RegisterVariable(ref Global.sv_minupdaterate);
            CVar.RegisterVariable(ref Global.sv_defaultupdaterate);
            CVar.RegisterVariable(ref Global.sv_maxrate);
            CVar.RegisterVariable(ref Global.sv_minrate);
            CVar.RegisterVariable(ref Global.sv_defaultrate);
            CVar.RegisterVariable(ref Global.sv_failuretime);

            // SVEdict
            CVar.RegisterVariable(ref Global.sv_instancedbaseline);

            // SVMain custom
            CVar.RegisterVariable(ref Global.sv_stats);
            CVar.RegisterVariable(ref Global.sv_statsinterval);

            // SVMove
            CVar.RegisterVariable(ref Global.sv_maxunlag);
            CVar.RegisterVariable(ref Global.sv_unlag);
            CVar.RegisterVariable(ref Global.sv_unlagpush);
            CVar.RegisterVariable(ref Global.sv_unlagsamples);
            CVar.RegisterVariable(ref Global.sv_unlagjitter);
            CVar.RegisterVariable(ref Global.sv_cmdcheckinterval);



            // Default

            CVar.RegisterVariable(ref Global.sv_voicecodec);
            CVar.RegisterVariable(ref Global.sv_voiceenable);
            CVar.RegisterVariable(ref Global.sv_voicequality);
            CVar.RegisterVariable(ref Global.rcon_password);
            CVar.RegisterVariable(ref Global.mp_consistency);
            CVar.RegisterVariable(ref Global.sv_contact);
            CVar.RegisterVariable(ref Global.sv_region);
            CVar.RegisterVariable(ref Global.sv_filterban);
            CVar.RegisterVariable(ref Global.sv_logrelay);
            CVar.RegisterVariable(ref Global.sv_lan);
            CVar.RegisterVariable(ref Global.sv_lan_rate);
            CVar.RegisterVariable(ref Global.sv_proxies);
            CVar.RegisterVariable(ref Global.sv_outofdatetime);
            CVar.RegisterVariable(ref Global.sv_visiblemaxplayers);
            CVar.RegisterVariable(ref Global.sv_password);
            CVar.RegisterVariable(ref Global.sv_aim);
            // hblood/hgibs skipped
            CVar.RegisterVariable(ref Global.sv_newunit);

            CVar.RegisterVariable(ref Global.sv_gravity);
            CVar.RegisterVariable(ref Global.sv_friction);
            CVar.RegisterVariable(ref Global.edgefriction);
            CVar.RegisterVariable(ref Global.sv_stopspeed);
            CVar.RegisterVariable(ref Global.sv_maxspeed);
            CVar.RegisterVariable(ref Global.mp_footsteps);
            CVar.RegisterVariable(ref Global.sv_accelerate);
            CVar.RegisterVariable(ref Global.sv_stepsize);
            CVar.RegisterVariable(ref Global.sv_bounce);
            CVar.RegisterVariable(ref Global.sv_airmove);
            CVar.RegisterVariable(ref Global.sv_airaccelerate);
            CVar.RegisterVariable(ref Global.sv_wateraccelerate);
            CVar.RegisterVariable(ref Global.sv_waterfriction);

            CVar.RegisterVariable(ref Global.sv_skycolor_r);
            CVar.RegisterVariable(ref Global.sv_skycolor_g);
            CVar.RegisterVariable(ref Global.sv_skycolor_b);
            CVar.RegisterVariable(ref Global.sv_skyvec_x);
            CVar.RegisterVariable(ref Global.sv_skyvec_y);
            CVar.RegisterVariable(ref Global.sv_skyvec_z);

            CVar.RegisterVariable(ref Global.sv_timeout);
            CVar.RegisterVariable(ref Global.sv_clienttrace);
            CVar.RegisterVariable(ref Global.sv_zmax);
            CVar.RegisterVariable(ref Global.sv_wateramp);
            CVar.RegisterVariable(ref Global.sv_skyname);
            CVar.RegisterVariable(ref Global.sv_maxvelocity);
            CVar.RegisterVariable(ref Global.sv_cheats);

            if (COM.CheckParm("-dev") > 0)
            {
                CVar.DirectSet(ref Global.sv_cheats, "1");
            }

            CVar.RegisterVariable(ref Global.sv_spectatormaxspeed);

            CVar.RegisterVariable(ref Global.sv_logbans);

            CVar.RegisterVariable(ref Global.mapcyclefile);
            CVar.RegisterVariable(ref Global.motdfile);
            CVar.RegisterVariable(ref Global.servercfgfile);
            CVar.RegisterVariable(ref Global.mapchangecfgfile);
            CVar.RegisterVariable(ref Global.lservercfgfile);
            CVar.RegisterVariable(ref Global.logsdir);
            CVar.RegisterVariable(ref Global.bannedcfgfile);
            // rcon skipped

            //      CVar.RegisterVariable(ref Global.max_queries_sec);
            //      CVar.RegisterVariable(ref Global.max_queries_sec_global);
            //      CVar.RegisterVariable(ref Global.max_queries_window);

            CVar.RegisterVariable(ref Global.sv_logblocks);
            CVar.RegisterVariable(ref Global.sv_downloadurl);
            CVar.RegisterVariable(ref Global.sv_version);

            // for I := 0 to MAX_MODELS - 1 do
            //        begin
            //        LocalModels[I][1] := '*';
            // IntToStr(I, LocalModels[I][2], SizeOf(LocalModels[I]) - 1);
            // end;

            //       SVS.Secure := 0;

            //  for I := 0 to SVS.MaxClientsLimit - 1 do
            //         SV_ClearClient(SVS.Clients[I]);


            // PM.Init(@ServerMove);
            // SV.AllocClientFrames;
            InitDeltas();
            // SV.InitRateFilter;
        }
Esempio n. 4
0
 public static void RegisterVariable(ref CVar cvar)
 {
     //
 }
Esempio n. 5
0
 public static void DirectSet(ref CVar cvar, string value)
 {
     //
 }