* add spatie/permissions
* add policies
* add role resource
* add root admin role handling
* replace some "root_admin" with function
* add model specific permissions
* make permission selection nicer
* fix user creation
* fix tests
* add back subuser checks in server policy
* add custom model for role
* assign new users to role if root_admin is set
* add api for roles
* fix phpstan
* add permissions for settings page
* remove "restore" and "forceDelete" permissions
* add user count to list
* prevent deletion if role has users
* update user list
* fix server policy
* remove old `root_admin` column
* small refactor
* fix tests
* forgot can checks here
* forgot use
* disable editing own roles & disable assigning root admin
* don't allow to rename root admin role
* remove php bombing exception handler
* fix role assignment when creating a user
* fix disableOptionWhen
* fix missing `root_admin` attribute on react frontend
* add permission check for bulk delete
* rename viewAny to viewList
* improve canAccessPanel check
* fix admin not displaying for non-root admins
* make sure non root admins can't edit root admins
* fix import
* fix settings page permission check
* fix server permissions for non-subusers
* fix settings page permission check v2
* small cleanup
* cleanup config file
* move consts from resouce into enum & model
* Update database/migrations/2024_08_01_114538_remove_root_admin_column.php
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
* fix config
* fix phpstan
* fix phpstan 2.0
---------
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
* combine importer and updateimport
* integrate egg parser into importer
* remove EggCreationService and EggUpdateService
* run pint
* revert change to composer.json
* use egg exporter directly instead of old admin route
* allow importing eggs via url
* refactor
* run pint
* turn back into one button
* fix empty check
* small cleanup
* removed container for tabs
* Update URL function
* Use sys temp
---------
Co-authored-by: notCharles <charles@pelican.dev>
* Migrations to update existing eggs in db
* Update stock eggs
* Update Eggs on import
* Also update updated versions of eggs that are uploaded
* Redo this..
Tests passed locally.
* Pint & Update replace
* Squash Migrations, simplify logic
* Maybe this way...
* Swap them over to single call
---------
Co-authored-by: Lance Pioch <git@lance.sh>
Replaces Xmx with a percentage-based argument, in this case leaving 5% overhead.
Resolves issue of container OOM/freezing when all memory is allocated to the java application or when users attempt to use unlimited memory of 0. That's because all the allocated memory is set to Xmx by default. Causes Wings resource overhead allocation to be unnecessary.
Expands Forge installer exit code to provide instructions regarding increasing Wings installer resource limits when using unlimited memory (0) as the default 1024MB is not enough to run the installer.
The percentage is set as a floating point, because of a JDK 8 bug with integers
For whatever reason, stupid me rebased the wrong branch in previous PR #3783 and didn't notice it, which contained the old egg instead.
This one actually fixes the regex and includes more debugging steps for easier troubleshooting.
Easy to view diff: <https://www.diffchecker.com/3iJ9lVzH>
Installing basic packages are unnecessary as they already exist in yolks installer image. This also gets rid of Debian 10 lib32gcc package not being found, since installer image is Debian 11.
For 1.17 JPMS arguments, fix regex to match`^1\.(17|18|19|20|21|22|23)` or latest instead of only dot . minor versions, which is something I didn't notice in a previous PR. This should future proof it.
Changes Java image display order defaulting to 17, which the 1.17+ requires for unix args.
Fixes a typo in fetching the latest versions. It was overwritten to "recommended" by mistake.
Easy to read diff: <https://www.diffchecker.com/U04gJTRu>
Support new 1.17+ Forge JPMS arguments that don't ship any executable jar. It will use unix_args.txt file for 1.17+ when one exists, otherwise defaults to using the jar file
Fix forge latest build version option to actually use latest instead of recommended
Set build version input rules to only accept valid values of the latest and recommended
Remove spaces from the version variables to avoid issues with curl. Forge site displays versions with spaces to end users
Introduces custom map URL variable. If none is provided, it will default to using normal map size and seed. Otherwise, it will use the custom map and remove map size/seed from the startup as required.