the server.cs works very well, many thanks as mentioned earlier, but i encountered another issue
now, for some reason, the environment Day Offset (in the gamemode.txt, this is $EnvGuiServer::DayOffset) is not listening to the gamemode.txt just like the day length. i suspect that the problem with Day Offset was always there, but i never tried changing it until after the day cycle issue was resolved
i modified Visolator's server.cs code a bit to include the DayOffset through random guessing and it actually works well, but i'm still wondering on what the heck could have caused this issue to begin with