Due to the Google API for generating the 2FA QR code will be shut down on 14.04.2019, this adds the package "pragmarx/google2fa-qrcode" and updates "pragmarx/google2fa" to version 5.x.
Due to now using BaconQR, Pterodactyl now needs the php-imagick extension to render the images.
The fallback handler isn't scoped to a specific group, so the way this was setup caused requests to non-existent API routes to actually try and return the base view for Vue. This caused a mess of issues because that view is behind the middleware that expect sessions to be set, thus leading to very confusing authentication errors rather than a 404 response.
There is a bug in the design of the application that affects users who encounter an exception under certain code pathways who are using the database to maintain their sessions.
What is happening is that a transaction is started, and I made the mistake of just assuming it would auto-rollback once the exception was caught by the handler. This is technically true, since once the request terminates the transaction is discarded by the SQL server. However, this also means that the session data set on that request would not be persisted as it runs in a middleware termination function, after the transaction is started.
Theoretically this would also affect any other terminable middleware as well, but the session is the only one I can think of right now
Co-Authored-By: Oreo Oreoniv <zkoz210@users.noreply.github.com>
Co-Authored-By: Stepan Fedotov <trixterthetux@users.noreply.github.com>
Replace Spigot as the default server with plugin support with paper.
Paper can be freely downloaded without the need to build the server jar every time.
This egg still allows for the download like to be supplied to download whatever jar a user wants.