-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 3.0.0 Update #200
Merged
Merged
Version 3.0.0 Update #200
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Update README.md - Add more configs - "disable_config_validation" - "share_non_configs" - "config_location" - Made MultiAdmin.exe look for "SCPSL.exe" or "SCPSL.x86_64" based on OS - Other minor changes
- Rename "OutputThread" to "OutputHandler" - Made OutputHandler instance based rather than fully static - Added proper disposal after the main server loops ends
- Removed "FileManager.cs" - Better null handling in "Config.cs" - Remove unused event "IEventMatchStart", it was never called - Moved "TimeStamp" from "Server.cs" to "Utils.cs" - Better null handling in "InputThread.cs" - Attempt to stop all servers on program exit - Re-arrange and organize "Server.cs" - Add missing config "servers_folder" to README.md
- Updated .gitignore - Better null handling for ServerConfig - Added custom exceptions - Combined the two memory checkers - Better null handling for SessionId - Fixed server crash restarts - Optimized log file variables to only update when needed, instead of every call - Changed default value of "share_non_configs" to true - Update README.md
- Implemented multi-config mode, multiple servers can now be run at the same time - Fixed "ServerDirectories" returning nothing if the Directory exists - Re-arrange variable initialization in "Server.cs" initialization - Lock thread when reading a server message file - Changed Session ID to use Ticks instead of Unix Time seconds
- Re-wrote the "NEW" command for the new multi system - Modified "InputThread.cs" to not always capitalize input - Added "StartServerFromId" to "Program.cs" - Update README.md
This should fix problems with MemoryChecker, RestartNextRound, StopNextRound, and TitleBar (possibly more)
…o Dankrushen-master
This was referenced Feb 3, 2019
- Switched "Program#AutoStartServerDirectories" from creating an instance of "MultiAdminConfig" to creating an instance of "Server" and using "Server#ServerConfig" - Added "Program#ServerIds" - Added "Program#AutoStartServerIds" - Changed "RestartRoundCounter" to check if the round count is greater than equal to the number of rounds to restart - MultiAdmin now uses full paths wherever possible - Re-worked multi-server execution code to use Server objects for everything - Changed "Program#StartServerFromId()" to "Program#StartServer()" and now takes an input of a Server object
- Changed "Utils.IsProcessHandleZero" to "Utils.IsProcessHeadless" and add a check for "Program.Headless" - Use "Utils.GetFullPathSafe(path)" now instead of "Path.GetFullPath(path)" to prevent an exception and simply return null - Don't run the input thread if MultiAdmin is set to headless mode - Added headless mode, can be activated with arguments "--headless" or "-h" - "OutputHandler" should now handle file read attempts better, sleeping 2 ms between general failed attempts and an extra 3 ms for "UnauthorizedAccessException"s - "OutputHandler" file reading now occurs in a for loop instead of a while loop
- Don't exit "MainLoop" until process ends - Add "closeGame" to "Server#StopServer()" - Properly dispose "GameProcess"
- Added new colored console printing system - Changed the "EXIT" command to attempt to kill the process if being run before any round has started, as that seems to cause issues otherwise - Improved and fixed Soft Memory Restart so it no longer spams and prints out more detailed messages - Made TimeStamp a property in Utils - Changed "Utils#TimeStamp()" to "Utils#TimeStampMessage()" - All printing and logging lock a single object as to be thread safe and print in order 👌
- Changed "InactivityShutdown" to use TimeSpan instead of getting seconds in UnixTime, this should fix compatability issues with older versions of mono
- Standardized output reading to watching files, this works both on Windows and Linux effectively - Watch specifically the session directory, hopefully this should decrease CPU usage for running multiple servers and make it run faster
- Changed server status system, it now uses an enum to tell the current status of the server and restarts internally rather than externally - Renamed "MultiColorWriteLock" to "WriteLock" - Added "IEventWaitingForPlayers", this runs every time the "Waiting for players.." message is sent - "OutputHandler" now only removes a single newline from the end of a console message - Put "ProcessFile" in a try catch statement - Fixed "Utils#TimeStampMessage()" not adding a space between the timestamp and the message
- Removed process handle check - Moved "Server#MaVersion" to "Program#MaVersion"
- Reset "EXIT" command on restart so that the process is killed if the server hasn't started yet
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
disable_config_validation
,share_non_configs
, andconfig_location
SCPSL.exe
orSCPSL.x86_64
based on OSOutputThread
toOutputHandler
FileManager.cs
Config.cs
IEventMatchStart
, it was never calledTimeStamp
fromServer.cs
toUtils.cs
InputThread.cs
Server.cs
Server.cs
initializationNEW
command for the new multi systemInputThread.cs
to not always capitalize inputStartServerFromId
toProgram.cs
Program#AutoStartServerDirectories
from creating an instance ofMultiAdminConfig
to creating an instance ofServer
and usingServer#ServerConfig
Program#ServerIds
Program#AutoStartServerIds
RestartRoundCounter
to check if the round count is greater than equal to the number of rounds to restartProgram#StartServerFromId()
toProgram#StartServer()
and now takes an input of a Server objectUtils.IsProcessHandleZero
toUtils.IsProcessHeadless
and add a check forProgram.Headless
Utils.GetFullPathSafe(path)
now instead ofPath.GetFullPath(path)
to prevent an exception and simply return null--headless
or-h
OutputHandler
should now handle file read attempts better, sleeping 2 ms between general failed attempts and an extra 3 ms forUnauthorizedAccessException
sOutputHandler
file reading now occurs in a for loop instead of a while loopStopServer
whenkillGame = false
MainLoop
until process endscloseGame
toServer#StopServer()
GameProcess
Server#MainLoop()
never exitingEXIT
command to attempt to kill the process if being run before any round has started, as that seems to cause issues otherwiseUtils#TimeStamp()
toUtils#TimeStampMessage()