RuNNeR wrote:TY!
. If I have any questions regarding the server, can I ask you again?
If is about 2017 year and my way of doing you can ask questions about doing a server in a "custom" way. That method is not shared anywhere yet.
Edit: Tiny details and a few words.
"Multiple Servers config"
We have two locations on a separate drive - not the system drive which has a slow access due to a mountain of files from there and OS related access.
[attachment=4]Srv_00.PNG[/attachment]
This is where U UAX UTX UMX UNR files are located.
_____
[attachment=3]Srv_01.PNG[/attachment]
This is where EXE DLL INT INI files are located.
_____
How does this happen ?
Keep inspecting internals...
[attachment=2]Srv_02.PNG[/attachment]
Here I have sharing part used by server and even client (except server actors) UTX UAX UMX UNR U files.
And next...
[attachment=0]Srv_03.PNG[/attachment]
Here I have... server related cores. As you can figure or not I have 2 servers 436 and 2 servers 440 - these uses common U files from above "shares" except v451 which is being more crapped at this point with stuff changed and properly borked and which I'm not recognizing as an usable server. Folders un-marked with red are trash folders in case of a fallback - at this moment they are empty or used for trash storage.
So by browsing a random Folder from "non shares" section.
[attachment=1]Srv_04.PNG[/attachment]
And then here are only INI INT DLL EXE BAT and nothing else used as an "unreal package".
Because of using this way, even if BotPack.u as a sample is one single file in "shares", it can be used by 4 servers each of them running its own game-type separate or in the same time if are used different ports.
If you ask about INI files, here is used "Server.ini" in read-only mode having paths properly declared:
Code: Select all
[Core.System]
PurgeCacheDays=0
Paths=F:/Servers_Share/System/*.u
Paths=F:/Servers_Share/Maps/*.unr
Paths=F:/Servers_Share/Textures/*.utx
Paths=F:/Servers_Share/Sounds/*.uax
Paths=F:/Servers_Share/Music/*.umx
Paths=../SysCls440/*.*
;Paths=../Maps/*.unr
;Paths=../Textures/*.utx
;Paths=../Sounds/*.uax
;Paths=../Music/*.umx
SavePath=../Save
CachePath=../Cache
CacheExt=.uxx
Suppress=DevLoad
Suppress=DevSave
Suppress=DevGarbage
Suppress=DevKill
Suppress=DevReplace
Suppress=DevSound
Suppress=DevCompile
Suppress=DevBind
Suppress=DevBsp
;Suppress=DevNetTraffic
Suppress=DevMD5
;Suppress=NetComeGo
;Suppress=ScriptWarning
;Suppress=DevNet
;Suppress=Warning
;Suppress=NetComeGo
lines having ";" are disabled but not removed - in case of future re-usage.
Each server uses its own BAT file which will include that "run-line" + the rest of needs (saving logs, precaching FATs, etc.)
Code: Select all
@echo off
dir F:\ServersUT\MH_Classic\SysCls440\*.*
dir F:\Servers_Share\System\*.*
dir F:\Servers_Share\Textures\*.*
dir F:\Servers_Share\Sounds\*.*
dir F:\Servers_Share\Music\*.*
dir F:\Servers_Share\Maps\*.*
dir E:\Redirul\*.lzma
cls
echo STARTING Classic Animality Server
:10
cd \ServersUT\MH_Classic\SysCls440
echo Executing restore sequences...
call Shit.bat
copy server.log C:\UTLogs\UTLog_%TodayDate%_H%Hour%_M%Minute%.txt
echo Old Log copied, continuing launch...
start /Wait /High /Min UCC2.EXE XC_Core.XC_ServerCommandlet UT-Logo-Map.unr?Game=BotPack.DeathMatchPlus?Mutator=NsUTw3.NsUTw,Cacher.Cacher,MapVoteULv2_1NS.BDBMapVote,Starter.TheStart?difficulty=3 -ini=Server.ini -readini=Server.ini -log=server.log
echo OOOPS Crash ? Call external tool to setting date and time for file according to required history...
call Shit.bat
copy F:\ServersUT\MH_Classic\SysCls440\Server.log C:\CrashLogs\UTcrash_%TodayDate%_H%Hour%_M%Minute%.txt
copy server.log srv_crash.log
echo Will restart... No problem if crashed...
goto 10
echo ...
After operating bad scripts and making server to crash. You can read the crash-log file with a time-stamp in name because "shit" file was setting up date and time properly.
Code: Select all
@echo off
echo Prepare required variables...
Set Day=%Date:~-10,2%
Set Month=%Date:~-7,2%
Set Year=%Date:~-4,4%
Set TodayDate=%Day%%Month%%Year%
Set Hour=%Time:~-11,2%
Call :PadHour %Hour%
Set Minute=%Time:~-8,2%
Set Second=%Time:~-5,2%
Set TodayTime=%Hour%%Minute%%Second%
Echo %Hour% %Minute% %Second%
Echo %Day% %Month% %Year%
goto :EOF
:PadHour
Set Hour=%*
If %Hour% GEQ 10 Goto :EOF
Set Hour=0%Hour%
:EOF
echo Thank you !
This is my way of doing for a few months and I don't have issues - not even with Unreal garbage collector, all packages are properly unloaded - I'm not using as "serverpackages" other files than needed ( Skins, MBot, MapVote.., etc.) not even BotPack. That is automated as dependent package in devs and usually is called by Map and game-type itself being already in packages-map.