[3.x Webservice Update] Plans, ideas, requests etc. #635
Closed
opened 2026-06-26 21:16:26 +02:00 by Griefed
·
0 comments
No Branch/Tag specified
main
develop
dependabot-gradle-serverpackcreator-plugin-example-develop-org.junit.platform-junit-platform-launcher-6.1.2
dependabot-gradle-serverpackcreator-plugin-example-develop-org.jetbrains.kotlin-kotlin-test-junit5-2.4.10
dependabot/npm_and_yarn/serverpackcreator-web-frontend/brace-expansion-1.1.16
dependabot/npm_and_yarn/serverpackcreator-web-frontend/postcss-8.5.23
dependabot/npm_and_yarn/serverpackcreator-web-frontend/quasar-2.23.1
dependabot/npm_and_yarn/serverpackcreator-web-frontend/axios-1.18.0
dependabot/npm_and_yarn/serverpackcreator-web-frontend/immutable-5.1.9
dependabot/npm_and_yarn/serverpackcreator-web-frontend/js-yaml-4.3.0
dependabot/npm_and_yarn/serverpackcreator-web-frontend/multi-7ba89ddc59
dependabot-gradle-serverpackcreator-api-develop-de.jensklingenberg.ktorfit-ktorfit-lib-2.7.5
dependabot-gradle-serverpackcreator-api-develop-org.junit.platform-junit-platform-launcher-6.1.1
dependabot-gradle-serverpackcreator-api-develop-com.electronwill.night-config-toml-3.9.0
dependabot-gradle-serverpackcreator-api-develop-org.jetbrains.kotlin-kotlin-bom-2.4.0
dependabot-gradle-serverpackcreator-app-develop-com.install4j-install4j-runtime-13.0
dependabot-gradle-serverpackcreator-app-develop-org.springframework.boot-spring-boot-starter-test-4.1.0
dependabot-gradle-serverpackcreator-app-develop-org.jetbrains.kotlin-kotlin-reflect-2.4.0
dependabot-gradle-serverpackcreator-plugin-example-develop-io.mockk-mockk-1.14.11
dependabot-gradle-serverpackcreator-api-develop-org.jetbrains.kotlin-kotlin-test-junit5-2.4.0
dependabot-npm_and_yarn-serverpackcreator-web-frontend-develop-vue-i18n-11.4.6
dependabot-npm_and_yarn-serverpackcreator-web-frontend-develop-globals-17.7.0
dependabot-npm_and_yarn-serverpackcreator-web-frontend-develop-autoprefixer-10.5.2
dependabot-npm_and_yarn-serverpackcreator-web-frontend-develop-vite-plugin-checker-0.14.4
dependabot-github_actions-develop-actions-github-script-9.0.0
dependabot-npm_and_yarn-serverpackcreator-web-frontend-develop-typescript-eslint-8.62.1
dependabot-github_actions-develop-peter-evans-create-pull-request-8.1.1
dependabot-gradle-serverpackcreator-app-develop-org.springframework.boot-spring-boot-starter-web-4.1.0
dependabot-github_actions-develop-actions-cache-6.1.0
dependabot-gradle-serverpackcreator-app-develop-org.springframework.boot-spring-boot-starter-log4j2-4.1.0
dependabot-github_actions-develop-softprops-action-gh-release-3.0.1
dependabot-github_actions-develop-actions-checkout-df4cb1c069e1874edd31b4311f1884172cec0e10
dependabot/npm_and_yarn/serverpackcreator-web-frontend/multi-90c305e17a
dependabot/npm_and_yarn/serverpackcreator-web-frontend/form-data-4.0.6
alpha
dependabot-gradle-serverpackcreator-app-develop-org.junit.jupiter-junit-jupiter-engine-6.0.2
gh-pages
dependabot/npm_and_yarn/serverpackcreator-web-frontend/js-yaml-4.1.1
7.x.x
6.x.x
5.x.x
4.x.x
3.x.x
2.x.x
1.x.x
9.0.0-alpha.6
9.0.0-alpha.5
9.0.0-alpha.2
9.0.0-alpha.3
9.0.0-alpha.4
9.0.0-alpha.1
8.1.2
8.1.1
8.1.1-beta.2
8.1.1-beta.1
8.1.0
8.1.0-beta.3
8.1.0-beta.2
8.1.0-beta.1
8.0.8
8.0.7
8.0.6
8.0.5
8.0.4
8.0.3
8.0.2
8.0.1
8.0.0
8.0.0-beta.3
8.0.0-beta.2
8.0.0-beta.1
8.0.0-alpha.6
8.0.0-alpha.5
8.0.0-alpha.4
8.0.0-alpha.3
8.0.0-alpha.2
8.0.0-alpha.1
7.3.0
7.2.8
7.2.7
7.2.6
7.2.5
7.2.4
7.2.3
7.2.2
7.2.1
7.2.0
7.1.9
7.1.8
7.1.7
7.1.6
7.1.5
7.1.4
7.1.3
7.1.2
7.1.1
7.1.0
7.0.2
7.0.1
7.0.0
7.0.0-beta.5
7.0.0-beta.4
7.0.0-beta.3
7.0.0-beta.2
7.0.0-beta.1
7.0.0-alpha.3
7.0.0-alpha.2
7.0.0-alpha.1
continuous
6.3.11
6.3.10
6.3.9
6.3.8
6.3.7
6.3.6
6.3.5
6.3.4
6.3.3
6.3.2
6.3.1
6.3.0
6.2.1
6.2.0
6.1.1
6.1.0
6.0.0
6.0.0-beta.23
6.0.0-beta.22
6.0.0-beta.21
6.0.0-beta.20
6.0.0-beta.19
6.0.0-beta.18
6.0.0-beta.17
6.0.0-beta.16
6.0.0-beta.15
6.0.0-beta.14
6.0.0-beta.13
6.0.0-beta.12
6.0.0-beta.11
6.0.0-beta.10
6.0.0-beta.9
6.0.0-beta.8
6.0.0-beta.7
6.0.0-beta.6
6.0.0-beta.5
6.0.0-beta.4
6.0.0-beta.3
6.0.0-beta.2
6.0.0-beta.1
6.0.0-alpha.17
6.0.0-alpha.16
6.0.0-alpha.15
6.0.0-alpha.14
6.0.0-alpha.13
6.0.0-alpha.12
6.0.0-alpha.11
6.0.0-alpha.10
6.0.0-alpha.9
5.2.5
6.0.0-alpha.8
5.2.4
6.0.0-alpha.7
6.0.0-alpha.6
6.0.0-alpha.5
6.0.0-alpha.4
6.0.0-alpha.3
6.0.0-alpha.2
6.0.0-alpha.1
5.2.3
5.2.2
5.2.1
5.2.0
5.1.19
5.1.18
5.1.17
5.1.16
5.1.15
5.1.14
5.1.13
5.1.12
5.1.12-beta.4
5.1.12-beta.3
5.1.12-beta.2
5.1.12-beta.1
5.1.12-alpha.8
5.1.12-alpha.7
5.1.12-alpha.6
5.1.12-alpha.5
5.1.12-alpha.4
5.1.12-alpha.3
5.1.12-alpha.2
5.1.12-alpha.1
5.1.11
5.1.10
5.1.9
5.1.8
5.1.7
5.1.6
5.1.5
5.1.4
5.1.3
5.1.2
5.1.1
5.1.0
5.0.1
5.0.0
5.0.0-beta.17
5.0.0-beta.16
5.0.0-beta.15
5.0.0-beta.14
5.0.0-beta.13
5.0.0-beta.12
5.0.0-beta.11
5.0.0-beta.10
5.0.0-beta.9
5.0.0-beta.8
5.0.0-beta.7
5.0.0-beta.6
4.3.2
5.0.0-beta.5
5.0.0-beta.4
5.0.0-beta.3
5.0.0-beta.2
5.0.0-beta.1
5.0.0-alpha.36
5.0.0-alpha.35
5.0.0-alpha.34
5.0.0-alpha.33
5.0.0-alpha.32
5.0.0-alpha.31
5.0.0-alpha.30
5.0.0-alpha.29
5.0.0-alpha.28
5.0.0-alpha.27
5.0.0-alpha.26
4.3.1
5.0.0-alpha.25
5.0.0-alpha.24
5.0.0-alpha.23
4.3.0
5.0.0-alpha.22
5.0.0-alpha.21
4.2.1
5.0.0-alpha.20
4.2.0
5.0.0-alpha.19
5.0.0-alpha.18
5.0.0-alpha.17
5.0.0-alpha.16
4.1.5
5.0.0-alpha.15
4.1.4
5.0.0-alpha.14
4.1.3
5.0.0-alpha.13
4.1.2
5.0.0-alpha.12
5.0.0-alpha.11
4.1.1
4.1.0
4.0.6
5.0.0-alpha.10
5.0.0-alpha.9
5.0.0-alpha.8
5.0.0-alpha.7
5.0.0-alpha.6
4.0.5
5.0.0-alpha.5
5.0.0-alpha.4
5.0.0-alpha.3
5.0.0-alpha.2
5.0.0-alpha.1
4.0.4
4.0.3
4.0.2
4.0.1
4.0.0
4.0.0-beta.5
4.0.0-beta.4
4.0.0-beta.3
4.0.0-beta.2
4.0.0-beta.1
4.0.0-alpha.13
4.0.0-alpha.12
4.0.0-alpha.11
4.0.0-alpha.10
4.0.0-alpha.9
4.0.0-alpha.8
4.0.0-alpha.7
4.0.0-alpha.6
4.0.0-alpha.5
4.0.0-alpha.4
4.0.0-alpha.3
4.0.0-alpha.2
4.0.0-alpha.1
3.15.1
3.15.0
3.15.0-beta.6
3.15.0-beta.5
3.15.0-beta.4
3.15.0-beta.3
3.15.0-beta.2
3.15.0-beta.1
3.14.7
3.14.6
3.14.5
3.14.4
3.14.4-beta.2
3.14.4-beta.1
3.14.3
3.14.2
3.14.1
3.14.0
3.14.0-beta.9
3.14.0-beta.8
3.14.0-beta.7
3.14.0-beta.6
3.14.0-beta.5
3.14.0-beta.4
3.14.0-beta.3
3.14.0-beta.2
3.14.0-beta.1
3.14.0-alpha.4
3.14.0-alpha.3
3.14.0-alpha.2
3.14.0-alpha.1
3.13.0
3.13.0-beta.3
3.13.0-beta.2
3.13.0-beta.1
3.12.0
3.12.0-beta.7
3.12.0-beta.6
3.12.0-beta.5
3.12.0-beta.4
3.12.0-beta.3
3.12.0-beta.2
3.12.0-beta.1
3.11.1
3.11.0
3.10.2
3.10.1
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.1
3.5.0
3.5.0-beta.4
3.5.0-beta.3
3.5.0-beta.2
3.5.0-beta.1
3.5.0-alpha.8
3.5.0-alpha.7
3.5.0-alpha.6
3.5.0-alpha.5
3.5.0-alpha.4
3.5.0-alpha.3
3.5.0-alpha.2
3.5.0-alpha.1
3.4.1
3.4.0
3.3.0
3.2.0-beta.1
3.2.0
3.1.0
3.0.1
3.0.0
3.0.0-beta.11
3.0.0-beta.10
3.0.0-beta.9
3.0.0-beta.8
3.0.0-beta.7
3.0.0-beta.6
3.0.0-beta.5
3.0.0-beta.4
3.0.0-beta.3
3.0.0-beta.2
3.0.0-beta.1
3.0.0-alpha.19
3.0.0-alpha.18
3.0.0-alpha.17
3.0.0-alpha.16
3.0.0-alpha.15
3.0.0-alpha.14
3.0.0-alpha.13
3.0.0-alpha.12
3.0.0-alpha.11
3.0.0-alpha.10
3.0.0-alpha.9
3.0.0-alpha.8
3.0.0-alpha.7
3.0.0-alpha.6
3.0.0-alpha.5
3.0.0-alpha.4
3.0.0-alpha.3
3.0.0-alpha.2
3.0.0-alpha.1
2.2.0-alpha.5
2.2.0-alpha.4
2.2.0-alpha.3
2.2.0-alpha.2
2.2.0-alpha.1
2.1.1
2.1.0
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.6.1
1.6.0
1.5.4
1.5.3
1.5.2
1.5.1
Labels
Clear labels
accepted
Feature Ask which got accepted.
bug
Something isn't working
dependencies
Pull requests that update a dependency file
docker
Docker dependency updates
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
enhancement
New feature, request or improvement
github-actions
GitHub-Actions dependency updates
github_actions
Pull requests that update GitHub Actions code
good first issue
Good for newcomers
gradle
Gradle dependency updates
hacktoberfest-accepted
help wanted
Extra attention is needed
invalid
This doesn't seem right
javascript
Pull requests that update Javascript code
not-an-issue
Not a problem, rather something for documentation purposes
npm
NPM dependency updates
question
Further information is requested
rejected
Feature Ask which got rejected.
wontfix
This will not be worked on
Working on it
Indicates that work is being done on this issue/pr
No labels
accepted
bug
dependencies
docker
documentation
duplicate
enhancement
github-actions
github_actions
good first issue
gradle
hacktoberfest-accepted
help wanted
invalid
javascript
not-an-issue
npm
question
rejected
wontfix
Working on it
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
Griefed/ServerPackCreator#635
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Moved here: https://git.griefed.de/Griefed/ServerPackCreator/-/milestones/1
Why?
This issue is a collection of some plans, ideas, requests and my ramblings regarding the next major update to ServerPackCreator. If you have any ideas or requests for this specific version, comment below.
Note: Just because something is on this list does not mean that it will 100% make it into the next major release. It may, it may not. That'll be up to me. Things may get added in subsequent releases.
If you have a request that you absolutely want to see added to/implemented in ServerPackCreator, feel free to explain said request in the comments below. Be as clear and detailed as possible and keep in mind that I may reject your request.
Where?
Dev-builld artifacts can be downloaded here: https://git.griefed.de/Griefed/ServerPackCreator/-/pipelines?page=1&scope=branches&ref=webservice
Ideas, plans, improvements, enhancements, new features etc. etc.
Likely to happen:
serverpackcreator.properties, in case an admin who deploys the service deems it unsafe to allow strangers to upload ZIP-archives, containing gods-know what.Refactor CurseForgeModpack to install the specified modpack inSeework/projectID/fileID-folder. If the specified projectID/fileID already exists, create server pack from that. Prevents unnecessary downloads if a projectID/fileID was specified.github.com/Griefed/ServerPackCreator@3155af4990andgithub.com/Griefed/ServerPackCreator@00dd7aa15b. If any download during the creation of a CurseForgeModpack fails, cleanup and restart the process.int triescounter which inceremnts if any error is encountered and the process restarted. If the counter hits 3, cancel and tell the user.Not likely to happen, but interested in experimenting with. May happen in later version, but no promise:
serverpackcreator.properties. Should require the user to toggle some JToggle or JCheckBox like "Enable Advanced Settings" and give the user a warning that changing these settings can cause unexpected behaviour, break things, or cause file corruption etc. etc.. Basically, disclaimer: "I can not be held responsible if you change this stuff. You are on your own:"Done:
GUI: Check javaPath upon start and if no viable Java installation can be found, open dialog to select correct java installation. Further prevents incorrect setting of javaPath and makes config transfers between users more comfortable. Say user A for Modpack AA shares their config with User B, but User A has a different Java installed than User B, or similar situations come to mind.Implemented some time agoRefactor all relevant paths to be based on the directory in which ServerPackCreator resides in. Otherwise we run into the possibility of the user not knowing where what is and SPC producing BS when running as a webservice. We get the full path to the JAR-file/exe from main anyway, so we should make use of that. This would also improve addon handling, so it's pretty much a must do at this point.Was implemented some time agoIf the config does not specify any clientside-only mods, prepopulate GUIs with FALLBACKMODSLIST. Gives users an example on how this is supposed to be configured as well.Seegithub.com/Griefed/ServerPackCreator@ff18c5e56fIf possible: Check whether the CurseForge App is currently running and warn the user about the possible side effects of creating a server pack for a modpack whilst the CurseForge app monitors the modpack directory #55[1]Prepopulate Java Path in GUIs. Since Java is required to run SPC, let it prepopulate this setting if the loaded config does not provide a setting.Seegithub.com/Griefed/ServerPackCreator@ff18c5e56fPreselect files/folders specified in clientMods and copyDirs when using GUIsNot possible.setSelectedFilesonly prefills the textfield in the opened window, but does not visually select files/folders. Haven't found a way to realize this after digging through Google for a couple of days. Will not spend more time on this.Write runTest for Fabric. I seem to only have thought of writing tests for Forge.Derp. https://github.com/Griefed/ServerPackCreator/blob/main/src/test/java/de/griefed/serverpackcreator/CreateServerPackTest.java#L417Documentation: Rework guides on how to use SPC to be more precise / easier to understandSeegithub.com/Griefed/ServerPackCreator@7d0d2bd5b2Add more debug logging. At the same time, move log4j-xml to outside of jar file to allow users to enable debug logging. Ongoing process.Seegithub.com/Griefed/ServerPackCreator@fcbe6cfade. In order to activate debug logging, set<Property name="log-level-spc">INFO</Property>from INFO to DEBUG.MoveSeeCreateGui createGui = new CreateGui[...]toelse {in maingithub.com/Griefed/ServerPackCreator@d39730c86cSee-helparg to print help regarding running ServerPackCreatorgithub.com/Griefed/ServerPackCreator@4689f54335When using the "Upload log"-button in the GUI, upload modloader-installer.log if it isn't empty.Not happening. Modloader installer logs are too big when Forge had a go. hastebin returns error 413 if I try to upload a Forge installer log.Make Modloader setting a slider to choose between Fabric and ForgeSeegithub.com/Griefed/ServerPackCreator@4f9eb79f81Store files for Minecraft/Fabric/Forge version validation and latest version acquisition inSeework/filename. Generate on SPC startup, don't delete after server pack generation. Refresh when SPC starts.github.com/Griefed/ServerPackCreator@1927faa33dandgithub.com/Griefed/ServerPackCreator@ab080a6024Set whitelist=false in template server.propertiesSeegithub.com/Griefed/ServerPackCreator@bc4018edf2Generate server packs inSeeserver-packs-folder in SPC home dir. Should fix issue mentioned in 9. [1]github.com/Griefed/ServerPackCreator@539341d68fUpdate CONTRIBUTING.md and let people know about not being able to merge on GitHub because GitHub is a mirror from my GitLabSeegithub.com/Griefed/ServerPackCreator@272119fb81Add missing description forSee-langargumentgithub.com/Griefed/ServerPackCreator@164073fc8bAutoappendSee.exeto javaPath if we are on Windows and if the user manually specified the path and if the path is correct, else autoset the path and ignore user-specified config for javaPath.github.com/Griefed/ServerPackCreator@fae311ea2eandgithub.com/Griefed/ServerPackCreator@b6da489e08Docker: Check is STARTUP_PARAMETER is set. If not, assumeSee-cli.github.com/Griefed/ServerPackCreator@cad6e55e73Merge methods for creation of default files and manifest files for version validation.Seegithub.com/Griefed/ServerPackCreator@9111e7c585"Addon API" as in, have a folderSeeaddonsin which JAR-files can be added to provide additional functionality to ServerPackCreator. Would allow people to write and add more features without having to need to change the src. Idealy, provide examples in separate repositories.github.com/Griefed/ServerPackCreator@2a93e5476dand ServerPackCreatorExampleAddonMerge checkJavaPath and getJavaPathFromSystem to one method which returns a string containing the correct path.Seegithub.com/Griefed/ServerPackCreator@0c982cb5abTidy up GUI classes, meaning: Extract things like Dialogs into their own methods. Makes the GUI classes easier to read/understand and way more maintainable.Seegithub.com/Griefed/ServerPackCreator@9268245df8andgithub.com/Griefed/ServerPackCreator@7a335dab87https://github.com/Griefed/ServerPackCreator/issues/62Seegithub.com/Griefed/ServerPackCreator@094a217e83andgithub.com/Griefed/ServerPackCreator@e17322ed5dandgithub.com/Griefed/ServerPackCreator@3811190cb4GUI: Refactor Minecraft version into selection from list gathered from manifestSeegithub.com/Griefed/ServerPackCreator@5b56f18a90GUI: Refactor Modloader version into selection from list gathered from manifest and listed versions depending on selection of modloaderSeegithub.com/Griefed/ServerPackCreator@5b56f18a90https://github.com/Griefed/ServerPackCreator/issues/73 "Have an option to input custom java args for the servers."Seegithub.com/Griefed/ServerPackCreator@929bfa6807Improve clientMods to autoescape [ and ] should a mod have said characters in its name. https://github.com/Griefed/ServerPackCreator/issues/71Seegithub.com/Griefed/ServerPackCreator@0e029ec477Rework GUI, possibly with NetBeans or similar software, to improve UX. Won't interfere with 12. and 13. Possibly make use of https://github.com/vincenzopalazzo/material-ui-swing as it looks sweeeeeeet af.Toggle for Light/Dark mode? (SeeMaterialLookAndFeel.changeTheme(new CustomMaterialTheme());see https://github.com/vincenzopalazzo/material-ui-swing/wiki/Material-Component-Supported)github.com/Griefed/ServerPackCreator@949fb6aecdGUI: Menu-bar:Load configuration from fileSeegithub.com/Griefed/ServerPackCreator@949fb6aecdSwitch between lightmode and darkmodeSeegithub.com/Griefed/ServerPackCreator@949fb6aecdEntry for refreshing installed addonsEntry for opening the addon directoryEntry for opening the example addon GitHub page in browserOpen ServerPackCreator directory in explorerOpen server-packs directory in explorerOpen server_files directory in explorerEntry "About" to replace About-tabEntry "Help" to replace the help button in the Create Server Pack-tabEntry "GitHub" which links to GitHub projectEntry "Buy me a coffee" which links to GitHub SponsorsCan Mohist be supported as well, somehow? Mayhaps as a checkbox only visible if Forge modloader is selected? For download/installation etc. https://wiki.mohistmc.com/#/. Should be possible.Can already be done via addons.Check possibilities of createserverpack refactoring to run in separate thread. The process of generating a server pack needs to be able to run without problems once started and be independant/self-reliant. Basically: ServerPackCreator must allow for multiple parallel server pack generation tasks at the same time. Otherwise the whole REST API thing is pretty much DOA. ??? Refactor CreateServerPack to ServerPackHandler and extract run(...) into its own class which creates/receives all the objects necessary to successfully run the creation of a server pack.Seegithub.com/Griefed/ServerPackCreator@93a666a54aFileWatcher to monitor whether any important files were deleted and if so, generate new ones. Namelyserverpackcreator.properties,log4j2.xmland so on. Watched files would not include manifest files, as QuartzScheduler will take care of those.serverpackcreator.properties to enable/disable/set various features/settings/properties in ServerPackCreator:Allow configuration of hastebin server:SeeString requestURL = "https://haste.zneix.eu/documents";should beproperties.getProperty("haste.server","https://haste.zneix.eu/documents");github.com/Griefed/ServerPackCreator@0235378822Set language (replace lang.properties)Seegithub.com/Griefed/ServerPackCreator@bb11972711Change path for server pack generation.Seegithub.com/Griefed/ServerPackCreator@4a36e76bfaMove FALLBACKMODSLIST to serverpackcreator.properties. Allows users to expand it without having to touch the code of SPC.Seegithub.com/Griefed/ServerPackCreator@bb11972711Footnotes:
[1] Overwolf's CurseForge app seems to use some sort of filewatcher. Using ServerPackCreator on any modpack inside the Instances folder can result in random mods being deleted. I advise against using ServerPackCreator on any modpack inside the Instances folder. Note: ServerPackCreator does not delete any mods. It reads a list of mods inside your modpack into memory, removes clientside-only mods from that list and then copies that list to the server pack.
I thought I fixed this issue a while back when I rewrote the way ServerPackCreator copies mods from the modpack to the server pack, by not deleting clientside-only mods but instead just not copying them over. It appears the problem still occurs and only happens when CurseForge is opened and a server pack is generated for a modpack inside said folder.
To avoid this issue, simply copy your modpack to a directory outside the Instances folder and you are good to go.