The previous asynchronous approach did not work particularly well, leading to large janks when switching to custom maps or opening the mission browser. This commit introduces two key changes: * Rule loading for WorldActorInfo and PlayerActorInfo is made synchronous, in preparation for the next commit which will significantly optimize this path. * The full ruleset loading, which is required for map validation, is moved to the server-side and managed by a new ServerMapStatusCache. The previous syntax check is expanded to include the ability to run lint tests.
29 lines
1.1 KiB
Batchfile
29 lines
1.1 KiB
Batchfile
:: example launch script, see https://github.com/OpenRA/OpenRA/wiki/Dedicated for details
|
|
|
|
@echo on
|
|
|
|
set Name="Dedicated Server"
|
|
set Mod=ra
|
|
set ListenPort=1234
|
|
set AdvertiseOnline=True
|
|
set Password=""
|
|
set RecordReplays=False
|
|
|
|
set RequireAuthentication=False
|
|
set ProfileIDBlacklist=""
|
|
set ProfileIDWhitelist=""
|
|
|
|
set EnableSingleplayer=False
|
|
set EnableSyncReports=False
|
|
set EnableGeoIP=True
|
|
set EnableLintChecks=True
|
|
set ShareAnonymizedIPs=True
|
|
|
|
set SupportDir=""
|
|
|
|
:loop
|
|
|
|
bin\OpenRA.Server.exe Engine.EngineDir=".." Game.Mod=%Mod% Server.Name=%Name% Server.ListenPort=%ListenPort% Server.AdvertiseOnline=%AdvertiseOnline% Server.EnableSingleplayer=%EnableSingleplayer% Server.Password=%Password% Server.RecordReplays=%RecordReplays% Server.RequireAuthentication=%RequireAuthentication% Server.ProfileIDBlacklist=%ProfileIDBlacklist% Server.ProfileIDWhitelist=%ProfileIDWhitelist% Server.EnableSyncReports=%EnableSyncReports% Server.EnableGeoIP=%EnableGeoIP% Server.EnableLintChecks=%EnableLintChecks% Server.ShareAnonymizedIPs=%ShareAnonymizedIPs% Engine.SupportDir=%SupportDir%
|
|
|
|
goto loop
|