private IEnumerator DedicatedServerStartup()
    {
        Bootstrap bootstrap = this;

        Application.isLoading = (__Null)1;
        Bootstrap.WriteToLog("Skinnable Warmup");
        yield return((object)CoroutineEx.waitForEndOfFrame);

        yield return((object)CoroutineEx.waitForEndOfFrame);

        GameManifest.LoadAssets();
        Bootstrap.WriteToLog("Loading Scene");
        yield return((object)CoroutineEx.waitForEndOfFrame);

        yield return((object)CoroutineEx.waitForEndOfFrame);

        Physics.set_solverIterationCount(3);
        QualitySettings.SetQualityLevel(0);
        Object.DontDestroyOnLoad((Object)((Component)bootstrap).get_gameObject());
        Object.DontDestroyOnLoad((Object)GameManager.server.CreatePrefab("assets/bundled/prefabs/system/server_console.prefab", true));
        bootstrap.StartupShared();
        World.InitSize(ConVar.Server.worldsize);
        World.InitSeed(ConVar.Server.seed);
        World.InitSalt(ConVar.Server.salt);
        World.Url = ConVar.Server.levelurl;
        LevelManager.LoadLevel(ConVar.Server.level, true);
        yield return((object)CoroutineEx.waitForEndOfFrame);

        yield return((object)CoroutineEx.waitForEndOfFrame);

        yield return((object)((MonoBehaviour)bootstrap).StartCoroutine(FileSystem_Warmup.Run(0.2f, new Action <string>(Bootstrap.WriteToLog), "Asset Warmup ({0}/{1})")));

        yield return((object)((MonoBehaviour)bootstrap).StartCoroutine(Bootstrap.StartServer(!CommandLine.HasSwitch("-skipload"), "", false)));

        if (!Object.op_Implicit((Object)Object.FindObjectOfType <Performance>()))
        {
            Object.DontDestroyOnLoad((Object)GameManager.server.CreatePrefab("assets/bundled/prefabs/system/performance.prefab", true));
        }
        Pool.Clear();
        Rust.GC.Collect();
        Application.isLoading = (__Null)0;
    }
Exemple #2
0
    private IEnumerator DedicatedServerStartup()
    {
        Bootstrap bootstrap = null;

        Rust.Application.isLoading = true;
        Bootstrap.WriteToLog("Skinnable Warmup");
        yield return(CoroutineEx.waitForEndOfFrame);

        yield return(CoroutineEx.waitForEndOfFrame);

        GameManifest.LoadAssets();
        Bootstrap.WriteToLog("Loading Scene");
        yield return(CoroutineEx.waitForEndOfFrame);

        yield return(CoroutineEx.waitForEndOfFrame);

        UnityEngine.Physics.solverIterationCount = 3;
        QualitySettings.SetQualityLevel(0);
        UnityEngine.Object.DontDestroyOnLoad(bootstrap.gameObject);
        UnityEngine.Object.DontDestroyOnLoad(GameManager.server.CreatePrefab("assets/bundled/prefabs/system/server_console.prefab", true));
        bootstrap.StartupShared();
        World.InitSize(ConVar.Server.worldsize);
        World.InitSeed(ConVar.Server.seed);
        World.InitSalt(ConVar.Server.salt);
        World.Url = ConVar.Server.levelurl;
        LevelManager.LoadLevel(ConVar.Server.level, true);
        yield return(CoroutineEx.waitForEndOfFrame);

        yield return(CoroutineEx.waitForEndOfFrame);

        yield return(bootstrap.StartCoroutine(FileSystem_Warmup.Run(0.2f, new Action <string>(Bootstrap.WriteToLog), "Asset Warmup ({0}/{1})")));

        yield return(bootstrap.StartCoroutine(Bootstrap.StartServer(!Facepunch.CommandLine.HasSwitch("-skipload"), "", false)));

        if (!UnityEngine.Object.FindObjectOfType <Performance>())
        {
            UnityEngine.Object.DontDestroyOnLoad(GameManager.server.CreatePrefab("assets/bundled/prefabs/system/performance.prefab", true));
        }
        Facepunch.Pool.Clear();
        Rust.GC.Collect();
        Rust.Application.isLoading = false;
    }