forkgg / fork Goto Github PK
View Code? Open in Web Editor NEWFork: Minecraft Server Manager GUI for Windows
Home Page: https://www.fork.gg
License: MIT License
Fork: Minecraft Server Manager GUI for Windows
Home Page: https://www.fork.gg
License: MIT License
This would be more of a suggestion than anything.
When starting the fork program, it downloads updates. However, if the backend is not up, it means that fork cannot download the update and therefir cannot start.
This could be improved by making it still start but prevent the user from doing certain things like create new servers which require the servers to be running.
Currently Fork accesses a servers directory by expecting the name of the directory to be the name of the server. This means, that renaming a server breaks Fork.
Solution:
Introduce a fork.json
which is created in each servers directory that contains the servers ID. At startup Fork scans all folders in the server directory and looks for the servers it knows.
Edge cases:
fork.json
in case of a rename at runtimeThe RAM and Disk is always at 0% even though RAM and Disk IS being used.
Reported by: itsmemac#3623
Currently when starting Fork all players are loaded into memory, which works fine for all small and medium size servers.
If the server has a high amount of different players this leads to a huge performance impact
-> Fix: Load players asynchronosly and also only a certain amount of players
When opening ForkLauncher, it shows the splash screen for a couple seconds saying it's checking for the latest version then crashes. Here is the launcherlog.
[9/27/2022 5:36:12 PM] [UnhandledException] System.NullReferenceException
Object reference not set to an instance of an object.
at ForkLauncher.Logic.Manager.UpdateManager.GetCurrentForkVersion()
at ForkLauncher.Logic.Manager.UpdateManager.RetrieveNewData()
at ForkLauncher.ViewModel.MainViewModel.UpdateData()
at ForkLauncher.View.MainWindow.OnRender(DrawingContext e)
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run()
at ForkLauncher.App.Main()
server not appear after a restart but appear in the folder countain it
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.