Code Monkey home page Code Monkey logo

griefed / serverpackcreator Goto Github PK

View Code? Open in Web Editor NEW
115.0 3.0 9.0 68.95 MB

Create a server pack from a Minecraft Forge, NeoForge, Fabric, LegacyFabric or Quilt modpack!

Home Page: https://serverpackcreator.de

License: GNU Lesser General Public License v2.1

Dockerfile 0.05% JavaScript 0.31% Vue 2.69% HTML 1.09% PowerShell 1.07% Shell 0.88% Kotlin 93.62% TypeScript 0.24% SCSS 0.06%
modpack forge minecraft-modpack minecraft fabric modloader fabric-server modloader-server fabric-modloaders forge-server

serverpackcreator's Introduction

banner

Homepage Blog Fleet GitHub DockerHub Discord


For questions, you can always join my Discord server and talk to me there.

This repository is a mirror of https://git.griefed.de/Griefed/ServerPackCreator, mainly used for issue reporting and release distribution.


Latest Release) GitHub

ServerPackCreator creates a server pack from any given Forge, Fabric, Quilt, LegacyFabric and NeoForge modpack.

Whenever you are working on an update to your modpack, you simply run ServerPackCreator and BAM! You've got yourself a server pack for your new modpack version.

ServerPackCreator is a passion project on which I am working in my spare time. It is also the main reason for why I got into programming in the first place. Patience with issues and support is appreciated!

I started getting into Java programming in February 2021, when I was working on an update for one of my Minecraft modpacks, Survive Create Prosper 4, and got tired and bored with manually creating a server pack everytime I wanted to update and test something, or just release a new server pack for the new modpack version.

The thought "There must be a way to automate this, or at least make it less tedious..." was the spark which sent me off into the world of programming. And here we are.

Disclaimer:

  • ServerPackCreator is not a guarantee for working server packs. It helps you create them, but you must still test them!
  • You are still expected to be knowledgeable about your modpack, server packs in general, server administration and managing your Java installations. ServerPackCreator is not intended to take all the work off your shoulders!
  • When using alpha, beta or in-dev version of ServerPackCreator, it is advised to make a backup of your ServerPackCreator-directory in your home-directory.
  • Things will break with alpha releases, stuff may break when using beta releases.
  • If you distribute server packs generated with a pre-release (alpha, beta) of ServerPackCreator, you do so at your own risk.
  • I will not be held responsible for errors in your server pack caused by you using a pre-release.
  • I will not be held responsible for errors in your server pack in general. Test your server packs before you ship them!
  • TL;DR: Don't use test to ship to prod! Test before shipping!

Pre-Releases:

There are two kinds of pre-releases: Alphas and Betas

  • Alphas: Missing features, incomplete features, almost guaranteed to have bugs / errors
  • Betas: Feature complete, probably contains bugs / errors

Screenshots

CLI GUI WEB
cli gui dark web

Advantages/Disadvantages of CLI, GUI and WEB:

Each way of using ServerPackCreator has its advantages and disadvantages. Depending on your environment, it may be better to use one way over the other. This section highlights some of the advantages and disadvantages of each version to help you decide which way you are going to use. Note: All three ways are supported by the .jar-file. Which one is started depends on the CLI arguments used and your environment.

CLI:

Advantages Disadvantages
No need for a graphical environment. Can be used on a server to generate a server pack for immediate use. Gathering of information for a configuration file is tedious.
Step-by-Step generation of a configuration-file with the use of the -cgen argument. Generated config will be used immediately afterwards. No convenience features file folder-browsing or jumping to the generated server pack after generation.
Load and edit an existing configuration. Editing is limited to base values of a given configuration. Not editable via CLI are script settings as well as any potentially installed plugin configuration. Debugging in case of a broken/erroring configuration file can be time consuming. Careful reading of logs is required.
Manual editing of the configuration-file in case you want to change it.
Unable to edit start script placeholders and variables

GUI:

Advantages Disadvantages
Browse the filesystem for folders and file required by the configuration. Requires a graphical environment.
Setting up a configuration by browsing the filesystem and selecting your Minecraft and modloader versions from a list.
Browsing the generated server pack after generation has finished.
Loading and saving different configurations for quick generation of multiple server packs in short succession.
Edit the configuration in the GUI. No manual file-editing required.
Edit start script placeholders and values

WEB:

Advantages Disadvantages
No software installation on clients required Requires a server with sufficient space
Easy access via web-browser Requires server-administration knowledge for setup and control
Quickly share mod- and server packs with friends / colleagues No custom script templates
Multiple server packs for the same modpack No custom server icons
Re-use configurations No custom server-properties
No custom server pack suffix
No custom script variables or values
No custom inclusions or exclusions

1. Small feature overview

  1. Exclude clientside-only mods
    • Automatically by letting ServerPackCreator scan the mods of your modpack for their sideness
    • Manually by configuring a list mods which ServerPackCreator will filter out according to your input and the chosen filter.
  2. Add files and directories in your server pack.
    • Files and directories in your modpack
    • Files and directories from your computer
  3. Add a server icon
    • Server icons are automatically scaled down, or up, to 64x64!
    • Specify a custom one, or use a default provided by ServerPackCreator.
      • Change the default to your liking if you intend on using the same icon across multiple server packs!
  4. Add a server.properties
    • Ship your server pack with default settings!
    • Specify a custom one, or use a default provided by ServerPackCreator.
      • Change the default to your liking if you intend on using the same icon across multiple server packs!
  5. Many modloaders supported
    • Forge
    • Fabric
    • LegacyFabric
    • Quilt
    • NeoForge
  6. Use Minecraft snapshots and pre-releases
    • Per default, only regular releases enabled
  7. Let ServerPackCreator install the modloader-server for your server pack, for immediate testing and debugging after generation!
  8. Let ServerPackCreator generate a ZIP-archive, for immediate upload to places like CurseForge (after you've tested your server pack, of course 😉)
  9. Configure commandline arguments with which to start the Minecraft server
    • Does your modpack require a lot of RAM? Well, tell ServerPackCreator to create the start scripts with -Xms8G -Xmx8G or similar values!
    • Aikars flags are available, too. If you like 'em, use 'em.
  10. Create your own start-script templates
    • Add additional functionality to your servers start scripts
    • Use placeholders in your templates, to be replaced with custom values
      • Example: placeholder SPC_FLYNN_LIVES_SPC in the templates can be replaced with a value configured on a per-server pack basis, i.e Now that's a big door
  11. Plugins!
    • ServerPackCreator allows you to use plugins to add new features in various places.
    • An example plugins is available with every release, and the source code for it can be found in this repository, at Example Plugin

2. Issues and help

3. How To

The first time you start ServerPackCreator, you will be asked whether you want to see a small step-by-step guide. Said guide will show you the most important parts in configuring your server pack.

Should you at any point want to revisit said guide, simply hit About -> Step-By-Step Guide in the menu at the top.

4. Java

Required:

  • Using the JAR-file release requires Java 21.
  • Working internet connection recommended.

The installers ship their own Java installations.

ATTENTION: I can not and will not guarantee that ServerPackCreator will work flawlessly with any other Java version other than version 21. Things may break at random, at any place, if a different Java version is used. You are welcome to try and use any other version, but do not report issues back to me if you do encounter problems when running ServerPackCreator with a more recent Java version.

5 Running

  1. If you've used the installer to acquire ServerPackCreator, use the shortcut created by the installer to run ServerPackCreator. The installers provide their own Java runtime, so you do not need to install Java separately.
  2. If you've downloaded the JAR-file, and depending on how your Java installation is set up, you may be able to simply run the JAR via double-click or other methods, or you may need to run it from the commandline.

There are a couple of arguments which may or may not be helpful for you, depending on how you plan on using ServerPackCreator:

Argument Description
-help Print ServerPackCreators help to commandline.
-update Check whether a newer version of ServerPackCreator is available.
-cgen Run ServerPackCreators configuration generation.
-cli Run ServerPackCreator in commandline-mode. If no graphical environment is supported, this is the default ServerPackCreator will enter, even when starting ServerPackCreator with no extra arguments at all.
-web Run ServerPackCreator as a webservice. The webservice will be reworked in version 6.
-gui Run ServerPackCreator with our GUI. If a graphical environment is supported, this is the default ServerPackCreator will enter, even when starting ServerPackCreator with no extra arguments at all.
--setup Set up and prepare the environment for subsequent runs of ServerPackCreator. This will create/copy all files needed for ServerPackCreator to function properly from inside its JAR-file and setup everything else, too.

5.1 Running ServerPackCreator as a webservice

DISCLAIMER

There is no publicly available instance of ServerPackCreators webservice due to security concerns with the ability to upload zip-archives. If you want to make use of the webservice, you will have to host your own instance. As such, you are advised to not make your instance of the webservice of ServerPackCreator publicly accessible.

ZIP-archives uploaded by anonymous people may contain illegal or otherwise dangerous data, which could corrupt your system or get you into legal trouble.

If you want to open your webservice-instance to the public, make sure to properly protect it by putting it behind required authorization.

5.1.1 JAR

  1. Download the JAR-file from the latest release
  2. Run it once, using the -web argument. ServerPackCreator will crash, complaining about JDBC-related things. This is expected, don't worry.
  3. Browser to the now generated ServerPackCreator home-directory
    1. Unsure where said home-directory is? Check the logs for Home directory set to:!
  4. Install / setup / provide a PostgreSQL-database for ServerPackCreator. See PostgreSQL Installation Tutorial
  5. Set the database-properties in the serverpackcreator.properties according to your database
    1. spring.datasource.password=
    2. spring.datasource.url=
      1. Example:jdbc\:postgresql\://localhost\:5432/serverpackcreator
    3. spring.datasource.username=
  6. Run ServerPackCreator, using the -web-argument, again
  7. Browse to http://localhost:8080
5.1.1.1 Tweaking the webservice

You may edit the following properties inside the serverpackcreator.properties if you wish to change some parts of the webservice-behaviour:

Property Description
de.griefed.serverpackcreator.spring.schedules.database.cleanup Time when the database-cleanup operations run.
de.griefed.serverpackcreator.spring.schedules.files.cleanup Time when the filesystem-cleanup operations run.
de.griefed.serverpackcreator.spring.schedules.versions.refresh Time when the version-refresh operation runs.
spring.servlet.multipart.max-file-size In combination with the property below, this sets the maximum upload size of modpacks.
spring.servlet.multipart.max-request-size See above.
de.griefed.serverpackcreator.configuration.directories.mustinclude Directories which must be included in a server pack, if they are present in a modpack.
de.griefed.serverpackcreator.configuration.directories.shouldexclude Directories which should be excluded from a server pack.
de.griefed.serverpackcreator.configuration.fallback.updateurl URL to a .properties-file which contains definitions for clientside-only mods.
de.griefed.serverpackcreator.serverpack.autodiscovery.enabled Whether ServerPackCreator should try to automatically excluded clientside-mods, in addition to the list of excluded clientside-mods.
de.griefed.serverpackcreator.serverpack.autodiscovery.filter Filter method used to exclude mods from the clientside-only list. Possible values are START, END, CONTAIN, REGEX, EITHER
de.griefed.serverpackcreator.serverpack.zip.exclude Files or directories which should be excluded from a server pack archive.
de.griefed.serverpackcreator.serverpack.zip.exclude.enabled Whether files should be excluded from a server pack archive.
server.port The port at which the webservice will be available at. Default is 8080.

5.1.2 Docker (recommended)

The recommended, and easiest, way to deploy ServerPackCreator as a webservice is via docker and docker-compose.

Available images can be viewed at https://hub.docker.com/r/griefed/serverpackcreator/tags

About Tags: The example below makes use of the latest-tag. However, using said tag is not recommended, as there may be breaking changes between versions. When setting up ServerPackCreator as a webservice for production, make sure to not use latest and instead use the tag corresponding to the, at this point, latest available release version available.

You must replace <YOUR_DB_USERNAME> and <YOUR_DB_PASSWORD> accordingly.

version: '3'
services:
  serverpackcreatordb:
    container_name: serverpackcreatordb
    image: postgres:16.1
    restart: unless-stopped
    environment:
      POSTGRES_DB: serverpackcreator
      POSTGRES_USER: <YOUR_DB_USERNAME>
      POSTGRES_PASSWORD: <YOUR_DB_PASSWORD>
    volumes:
      - ./database:/var/lib/postgresql/data
  serverpackcreator:
    container_name: serverpackcreator
    image: griefed/serverpackcreator:latest # For a list of available tags, see https://hub.docker.com/r/griefed/serverpackcreator/tags
    restart: unless-stopped
    depends_on:
      - serverpackcreatordb
    environment:
      - TZ=Europe/Berlin # Your timezone
      - PUID=1000 # Your user ID
      - PGID=1000 # Your group ID
      - SPC_DATABASE_PASSWORD=<YOUR_DB_PASSWORD>
      - SPC_DATABASE_USERNAME=<YOUR_DB_USERNAME>
      - SPC_DATABASE_HOST=serverpackcreatordb  # Do not change this unless you absolutely know what you are doing.
      - SPC_DATABASE_PORT=5432  # Do not change this unless you absolutely know what you are doing.
      - SPC_DATABASE_DB=serverpackcreator # Do not change this unless you absolutely know what you are doing.
    ports:
      - "8080:8080" # Port at which SPC will be available at on your host : Port of the webservice inside the container. Only change the left value, it at all.
    volumes:
      - ./modpacks:/app/serverpackcreator/modpacks # Path at which modpacks from the container will be stored at on your host : Path to the modpacks in the container. Only change the left value, if at all.
      - ./server-packs:/app/serverpackcreator/server-packs # Path at which server packs from the container will be stored at on your host : Path to the server packs in the container. Only change the left value, if at all.
      - ./logs:/app/serverpackcreator/logs # Path at which logs from the container will be stored at on your host : Path to the logs in the container. Only change the left value, if at all.
5.1.2.1 Tweaking the docker deployment

You may edit the following container-properties if you wish to change some parts of the webservice-behaviour:

Property Description
SPC_SCHEDULE_DATABASE_CLEANUP Time when the database-cleanup operations run.
SPC_SCHEDULE_FILES_CLEANUP Time when the filesystem-cleanup operations run.
SPC_SCHEDULE_VERSIONS_REFRESH Time when the version-refresh operation runs.
SPC_MAX_UPLOAD_SIZE This sets the maximum upload size of modpacks.
SPC_CONFIGURATION_DIRECTORIES_MUSTINCLUDE Directories which must be included in a server pack, if they are present in a modpack.
SPC_CONFIGURATION_DIRECTORIES_SHOULDEXCLUDE Directories which should be excluded from a server pack.
SPC_CONFIGURATION_FALLBACK_UPDATEURL URL to a .properties-file which contains definitions for clientside-only mods.
SPC_SERVERPACK_AUTODISCOVERY_ENABLED Whether ServerPackCreator should try to automatically excluded clientside-mods, in addition to the list of excluded clientside-mods.
SPC_SERVERPACK_AUTODISCOVERY_FILTER Filter method used to exclude mods from the clientside-only list. Possible values are START, END, CONTAIN, REGEX, EITHER
SPC_SERVERPACK_ZIP_EXCLUDE Files or directories which should be excluded from a server pack archive.
SPC_SERVERPACK_ZIP_EXCLUDE_ENABLED Whether files should be excluded from a server pack archive.

6. Awesomesauce!

None of this would have been possible without the excellent IDEs by JetBrains. They have kindly provided this open source project with an All Products Pack license. Additionally, ej-Technologies has provided an open-source license for JProfiler and install4j for ServerPackCreator, which allows me to resolve performance bottlenecks, pin down memory leaks and understand threading issues, as well as generated fancy high-end installers. Huge shoutout and thank you!

JetBrains IntelliJ IDEA WebStorm Writerside YouTrack JProfiler install4j
JetBrains IntelliJ IDEA WebStorm Writerside YouTrack JProfiler
JProfiler
install4j
install4j

Starting from version 6.x, ServerPackCreator will sport fancy new installers made possible by ej-technologies' install4j.


✨ Thanks to all of my Supporters and Sponsors ✨


7. Libraries and Licenses

This project would not be possible without these awesome groups, creators and developers and their wonderful libraries they have kindly provided to people such as me.

serverpackcreator's People

Contributors

alistair1231 avatar arthurbarret0 avatar dependabot-preview[bot] avatar dependabot[bot] avatar github-actions[bot] avatar griefed avatar kyber-6 avatar moonstruckdev avatar semantic-release-bot avatar whitebear60 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

serverpackcreator's Issues

Excluded Folders (sub folders actually, but any should be allowed)

  • What is the current behavior?

Not able to exclude folders from server pack creation

  • What is the wanted/requested behavior?

If I could exclude folders, i could avoid sending over the huge animation sequences found in the fancymenu and similar mods that provide client sided stuff.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    To be able to exclude files and folders from folders that are being included.

[3.x Webservice Update] Plans, ideas, requests etc.

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:

  1. Split the repository up into separate repositories:
    1. ServerPackCreator-frontend (holds the VueJS/Quasar code) major benefit: Pages for demo, separate build pipeline, separate releases, separate renovate config
    2. ServerPackCreator-backend (holds the Java code) Pages for docs, separate build pipeline, separate releases, separate renovate config
    3. ServerPackCreator adds frontend and backend as submodules, pulls the tagged commits, builds the final product. Benefit: Freeze frontend and backend with specific commits. Hosts the dockerfiles. Hosts final build pipeline. Hosts final releases
  2. REST API with Spring Boot as the backend. VueJS/Quasar for the frontend.
  3. SPA to view configuration, downloads, logs, about
  4. Upload exported modpack from CurseForge app of which ServerPackCreator will then generate a server pack and allow the user to download said pack in webUI.
    1. Must be toggleable via property in serverpackcreator.properties, in case an admin who deploys the service deems it unsafe to allow strangers to upload ZIP-archives, containing gods-know what.
    2. research posibilities of creating server packs for modpacks which aren't in the usual Overwolf/CurseForge format. Meaning: archives which do not contain an instance.json, but rather the full modpack itself, with mods and everything.
  5. If modpackDir points at a zip (CurseForge app export), install the modpack and generate a server pack from it. Ties in with 4.
  6. Provide more screenshots of SPC running in CLI | GUI | WEB mode in README and some sort of "about"
  7. ??? Info regarding sponsoring in about panels/tabs? Dunno
  8. Rework argument handling / parsing to enforce priority, catch nonsense arguments passed by user, solve problem of specifying multiple valid modes at once at the same time
  9. Refactor CurseForgeModpack to install the specified modpack in work/projectID/fileID-folder. If the specified projectID/fileID already exists, create server pack from that. Prevents unnecessary downloads if a projectID/fileID was specified. See 3155af4 and 00dd7aa. If any download during the creation of a CurseForgeModpack fails, cleanup and restart the process.
    1. This may be possible with an int tries counter which inceremnts if any error is encountered and the process restarted. If the counter hits 3, cancel and tell the user.
  10. Allow lanuage change in webUI via vue-i18n App Internationalization (i18n)
    1. When running as a webservice, force the backend to use en_us as the language. Makes debugging and error reports easier. and since the end-user won't see log entries or error messages from the backend anyway, we have no need for i18n.
  11. QuartzScheduler to delete manifest files on a schedule. Ensures ServerPackCreator always has the latest and greatest Minecraft, Forge and Fabric versions available for validation.
    1. Cleanup modpacks generated from CurseForge.
    2. Cleanup server pack folders (NOT ZIP-archives). This saves diskspace. Should be able to deactivate this.
    3. Vaildate database entries for available server packs? Would improve safety of entries in downloads-section
    4. Cleanup temp directory where uploaded ZIP-archives are stored
  12. Improve addon-handling. Intensive tests required. Webservice must allow for use of addons as well. Also: Improve the way addons are used by ServerPackCreator, and, subsequently, improve the exampleaddon. Best way would be something like calling the main from any addon inside the addonfolder with the current configurationModel, instead of executing the JAR in a process, with the configurationModel passed as a commandline-argument... This looks promising: https://github.com/pf4j/pf4j
  13. Remove tab for modloader-installer.log from GUI. On error during installation, refer users to said log-file, ask whether they want to open it in theri favourite edit.
  14. Update README with information regarding pull requests. Pull requests need to be made against a (to be created) special branch (maybe contributions?). From this branch I can pull to local, merge, push to GitLab and GitLab mirrors to GitHub
  15. Update README with new screenshots and explanations of ServerPackCreator. Update documentation/how-to/installation guide.
Screenshots
CLI and GUI
| Windows | Linux | Mac
| CLI Win | CLI Linux | CLI Mac
| GUI Light | GUI Light | GUI Light
| GUI Dark | GUI Dark | GUI Dark

Web
Light Configuration
Light Downloads
Dark Configuration
Dark Downloads

Comparisons:
Advantages/Disadvantages CLI vs. GUI vs. Webservice:
CLI:

GUI:

Webservice:

Not likely to happen, but interested in experimenting with. May happen in later version, but no promise:

  1. Move resource bundles for language keys outside of JAR-file, to allow people to edit them to their liking. Makes it easier for people to edit/change/add/remove stuff, test it and report back their changes/additions etc.
  2. Settings window/menu for editing settings in 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:"
  3. Allow for configuration of imap server to listen to. If email with subject "Create Server Pack" comes in, parse body for configuration, generate server pack, return download link of server pack to sender. This would require the sender to use CurseForge projectID and fileIDs, so SPC can create the modpack from which to generate a server pack.
    1. Allow users to specify an email when queueing up a server pack generation, so they can be notified if said server pack was generated. Could also send the download link along with the e-mail.
  4. Upon change in textfields in GUI, check entered configuration. If correct, do nothing. If wrong, let the user know the setting is not correct to tell them to check logs for more details.
  5. When a server pack was generated from a CurseForge projectID and fileID, store the configuration, generated from this combination, in the database and offer a download in addition to the server pack itself.
  6. Discord integration: Allow configuration of Discord bot, token, channel etc. so ServerPackCreator, when running as a webservice, can post status updates to a specified channel, whenever either a generation has been started, finished of requested, or when an error occurs. https://github.com/Discord4J/Discord4J

Done:

  1. 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 ago
  2. Refactor 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 ago
  3. If 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. See ff18c5e
  4. If 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]
  5. 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. See ff18c5e
  6. Preselect files/folders specified in clientMods and copyDirs when using GUIs Not possible. setSelectedFiles only 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.
  7. 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#L417
  8. Documentation: Rework guides on how to use SPC to be more precise / easier to understandSee 7d0d2bd
  9. Add more debug logging. At the same time, move log4j-xml to outside of jar file to allow users to enable debug logging. Ongoing process. See fcbe6cf. In order to activate debug logging, set <Property name="log-level-spc">INFO</Property> from INFO to DEBUG.
  10. Move CreateGui createGui = new CreateGui[...] to else { in main See d39730c
  11. -help arg to print help regarding running ServerPackCreator See 4689f54
  12. When 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.
  13. Make Modloader setting a slider to choose between Fabric and Forge See 4f9eb79
  14. Store files for Minecraft/Fabric/Forge version validation and latest version acquisition in work/filename. Generate on SPC startup, don't delete after server pack generation. Refresh when SPC starts. See 1927faa and ab080a6
  15. Set whitelist=false in template server.properties See bc4018e
  16. Generate server packs in server-packs-folder in SPC home dir. Should fix issue mentioned in 9. [1] See 539341d
  17. Update CONTRIBUTING.md and let people know about not being able to merge on GitHub because GitHub is a mirror from my GitLab See 272119f
  18. Add missing description for -lang argumentSee 164073f
  19. Autoappend .exe to 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. See fae311e and b6da489
  20. Docker: Check is STARTUP_PARAMETER is set. If not, assume -cli. See cad6e55
  21. Merge methods for creation of default files and manifest files for version validation. See 9111e7c
  22. "Addon API" as in, have a folder addons in 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. See 2a93e54 and ServerPackCreatorExampleAddon
  23. Merge checkJavaPath and getJavaPathFromSystem to one method which returns a string containing the correct path. See 0c982cb
  24. Tidy up GUI classes, meaning: Extract things like Dialogs into their own methods. Makes the GUI classes easier to read/understand and way more maintainable. See 9268245 and 7a335da
  25. #62 See 094a217 and e17322e and 3811190
  26. GUI: Refactor Minecraft version into selection from list gathered from manifest See 5b56f18
  27. GUI: Refactor Modloader version into selection from list gathered from manifest and listed versions depending on selection of modloader See 5b56f18
  28. #73 "Have an option to input custom java args for the servers." See 929bfa6
  29. Improve clientMods to autoescape [ and ] should a mod have said characters in its name. #71 See 0e029ec
  30. Rework 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.
    1. Toggle for Light/Dark mode? (MaterialLookAndFeel.changeTheme(new CustomMaterialTheme()); see https://github.com/vincenzopalazzo/material-ui-swing/wiki/Material-Component-Supported) See 949fb6a
  31. GUI: Menu-bar:
    1. "Data":
      1. Load configuration from file See 949fb6a
      2. Switch between lightmode and darkmode See 949fb6a
    2. "Addons":
      1. Entry for refreshing installed addons
      2. Entry for opening the addon directory
      3. Entry for opening the example addon GitHub page in browser
    3. "Files":
      1. Open ServerPackCreator directory in explorer
      2. Open server-packs directory in explorer
      3. Open server_files directory in explorer
    4. "About":
      1. Entry "About" to replace About-tab
      2. Entry "Help" to replace the help button in the Create Server Pack-tab
      3. Entry "GitHub" which links to GitHub project
      4. Entry "Buy me a coffee" which links to GitHub Sponsors
  32. Can 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.
  33. 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. See 93a666a
  34. FileWatcher to monitor whether any important files were deleted and if so, generate new ones. Namely serverpackcreator.properties, log4j2.xml and so on. Watched files would not include manifest files, as QuartzScheduler will take care of those.
  35. serverpackcreator.properties to enable/disable/set various features/settings/properties in ServerPackCreator:
    1. Allow configuration of hastebin server: String requestURL = "https://haste.zneix.eu/documents"; should be properties.getProperty("haste.server","https://haste.zneix.eu/documents"); See 0235378
    2. Set language (replace lang.properties) See bb11972
    3. Change path for server pack generation. See 4a36e76
    4. Move FALLBACKMODSLIST to serverpackcreator.properties. Allows users to expand it without having to touch the code of SPC. See bb11972
    5. ???

Footnotes:

[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.

Improvement: Combine start and download scripts. Improve and expand file-checks.

  • What is the current behavior?

When the pack is created there are two scripts. one to start the forge and another to download minecraft server jar.

  • What is the wanted/requested behavior?

Use only start-forge and if the minecraft server jar is missing, then the batch coded needed to retrieve it is run.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    Someone requested it on my discord. I've also had code like this before in my own scripts.

For example this is my script to download and install forge server which in it's own function will down the minecraft server jar.

#!/bin/bash

# used for renaming the forge jar to the name of the current folder.
FORGE="${PWD##*/}.jar" 
TIER="1.12.2"
PATTERN="${TIER}-14.23.5.${1}"
INSTALLER="https://files.minecraftforge.net/maven/net/minecraftforge/forge/${PATTERN}/forge-${PATTERN}-installer.jar"

echo "${INSTALLER}" > CURRENT_INSTALLER

FORGE_INSTALLER=$(basename "${INSTALLER}")

wget "${INSTALLER}"

java -jar "${FORGE_INSTALLER}" --installServer

rm "${FORGE_INSTALLER}"

mv -v forge*jar "${FORGE}"

I have settings.sh file that contains the following, so that the script after will make sense:

#just to set some globals used by the other scripts
USER="$(whoami)"
FORGE="${PWD##*/}.jar"
THISPATH="$(pwd)"
read INSTALLER < CURRENT_INSTALLER

OPTIONS='nogui'
USERNAME="${USER}"
WORLD='world'
MCPATH="${THISPATH}"
SESSION_NAME="$(basename ${THISPATH})"

# The following is used for SCREEN scroll back.
# It is not used in Windows
HISTORY=1024

# HEAP is JAVA saying MEMORY or RAM 
# valid values are a number followed by
# a letter. M = megabyte, G = gigabyte
# it is recommend to keep both values equal
# to help minimize garbage collection thrashing

MINHEAP=4G
MAXHEAP=6G


# Adjust the following based on your machine's
# capability
MAXPERMSIZE=256M
THREADSTACK=512M

# the one setting if you specify more cores or
# threads than you have it will simply use all
# of your cores/threads.
CPU_COUNT=4

My main start forge wrapper that I actually use, yours is good for testing tho.

#!/bin/bash
source settings.sh

#the following if block performs dark magic
#to install forge if it is not installed

if [ ! -e "${FORGE}" ]; then
   wget "${INSTALLER}"
   java -jar "${INSTALLER}" --installServer
   mv *universal.jar "${FORGE}"
fi
 
 OPTIONS='nogui'
 HEAP="${MAXHEAP}"

 INVOCATION="java \
 -Xms${HEAP} -Xmx${HEAP} \
 -Dfml.debugClassPatchManager=true -Dfml.debugRegistryEntries=true \
 -Djava.net.preferIPv4Stack=true \
 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC \
 -XX:+UseNUMA -XX:+CMSParallelRemarkEnabled -XX:MaxTenuringThreshold=15 \
 -XX:MaxGCPauseMillis=30 -XX:GCPauseIntervalMillis=150 \
 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking \
 -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 \
 -Dfml.ignorePatchDiscrepancies=true \
 -Dfml.ignoreInvalidMinecraftCertificates=true -XX:+UseFastAccessorMethods \
 -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:+AggressiveOpts \
 -XX:ReservedCodeCacheSize=2048m -XX:+UseCodeCacheFlushing \
 -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=2 \
 -Dfml.queryResult=confirm -Dfml.doNotBackup=true \
 -jar ${FORGE} $OPTIONS"

while true
do
	screen -S "${SESSION_NAME}_SERVER" ${INVOCATION}
	echo "If you want to completely stop the server restart process now, press Ctrl+C before the time is up!"
	echo "Rebooting in:"
	for i in 5 4 3 2 1
	do
		echo "$i..."
		sleep 1
	done
	echo "Rebooting now!"
done

So this last one, if the forge jar is missing, it will install the server so that it won't be missing. This is also why I renamed the forge server.jar to the name of the current folder, so I don't have to edit this wrapper all the time.

I'm not sure how to do this in MS DOS batch, but it can be done relatively easily in PowerShell. Which is what every Windows user should be using now.

2.0.7 up thru the 2.2.0-alpha.4

It won't make the server pack for me because of this issue everytime that only appears if I run it via console.

2021-08-24T16:57:08,969  INFO [AWT-EventQueue-0] (Configuration.java:599) - Checking configuration...
Exception in thread "AWT-EventQueue-0" com.typesafe.config.ConfigException$WrongType: serverpackcreator.tmp: 9: clientMods has type list of LIST rather than list of STRING
        at com.typesafe.config.impl.SimpleConfig.getHomogeneousUnwrappedList(SimpleConfig.java:393)
        at com.typesafe.config.impl.SimpleConfig.getStringList(SimpleConfig.java:441)
        at de.griefed.serverpackcreator.Configuration.checkConfigFile(Configuration.java:606)
        at de.griefed.serverpackcreator.gui.CreateServerPackTab.lambda$createServerPackTab$8(CreateServerPackTab.java:721)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.Component.processMouseEvent(Component.java:6539)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at java.awt.Component.processEvent(Component.java:6304)
        at java.awt.Container.processEvent(Container.java:2239)
        at java.awt.Component.dispatchEventImpl(Component.java:4889)
        at java.awt.Container.dispatchEventImpl(Container.java:2297)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
        at java.awt.Container.dispatchEventImpl(Container.java:2283)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
        at java.awt.EventQueue$4.run(EventQueue.java:733)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Bug: Start scripts for Forge contain wrong nogui parameter

  • What is the current behavior?

Using the genersted start scripts for Forge fails, because it tried to run --nogui when it should run nogui instead.

The error is in ServerPackHandler.class with the --nogui ending in the String definition.

  • If the current behavior is a bug, please provide the steps to reproduce
  • Generate a server pack for Forge

  • Let ServerPackCreator generate start scripts

  • Use said start scripts

  • What is the expected behavior?

The start scripts should start the server.

  • Please tell us about your environment:
  • Your Operating System: Any
  • Your Java version: Any
  • Your ServerPackCreator version: Alpha.6
  • Your config file:
  • Your latest log file:
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Specifying a file to include in the server pack fails. Only directories are accepted.

  • What is the current behavior?

if you tell it some filenames, it'll say invalid config

  • If the current behavior is a bug, please provide the steps to reproduce

after selecting dirs to include, type in a file to include too. like server-icon.png, it does't like that.

  • What is the expected behavior?

to love it

  • Please tell us about your environment:

Linux KDE

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Feature request: Create eula.txt with eula=true

  • What is the current behavior?

Using a server pack generated by ServerPackCreator still requires the admin to set eula=true in the eula.txt which is generated when the server is started for the first time.

  • What is the wanted/requested behavior?

Have ServerPackCreator generate a eula.txt containing

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Mon Oct 04 18:09:13 CEST 2021
eula=true

in the generated server pack so the admin can fire and forget their servers after uploading them to their servers.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    Starting the server for the first time, only to have it stop because the eula.txt was generated, then having to set eula=true and starting the server again can become a chore and minor annoyance. Having this feature would make using server packs generated by ServerPackCreator nicer to use and also make running test server packs a little nicer.

SPC gets stuck handling some mods

  • What is the current behavior?
    ServerPackCreator gets stuck handling some mods both on versions 2.1.1 (and presumably any prior version) as well as 3.0.0-alpha.5.

When working with version 2.1.1 there seems to be no workaround, whereas with 3.0.0-alpha.5 the workaround seems to be to disable the sideness-scanning.

The mod in question appears to be one with the ID itemfilter though seaching for said ID on CurseForge yields no result. As such, I need to name of the mod to run tests with. Idealy a modpack that contains said mod.

  • If the current behavior is a bug, please provide the steps to reproduce
    Imcomplete:

  • Have a modpack containing the mod with the ID itemfilter (modname unknown as of the time of me writing this issue)

  • Create a server pack using version 2.1.1

  • Create a server pack using 3.0.0-alpha.5

    • Disable sideness-scanning (appears to be a workaround)
    • Enable sideness-scanning
  • What is the expected behavior?
    A server pack should be generated regardless of what mods are in the modpack.

  • Please tell us about your environment:

  • Your Operating System: Unknown, probably any
  • Your Java version: jre 1.8.0_291
  • Your ServerPackCreator version: 2.1.1 and 3.0.0-alpha.5
  • Your config file: Unknown
  • Your latest log file: Unknown
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Two users reported:

  • 1.16.5 pack
  • forge 36.2.0

Enhancement: Fresh state

Ensure serverpack folder is deleted/non existent before rest of program starts to ensure freshly crested serverpack according to config

[feature request] Auto determination of sidedness

In 1.13+ this is actually set in the mods.toml file. You can have the program autoscan for those and pre-populate the mods that are eplicitly marked as "CLIENT".

In 1.12.2 and lower, this can be pulled from the @mod annotations.

jar files can be opened with zip and rar programs, so you should be able to mount them, scan for the necessary file, get what you need and move on to the next one.

Cheers, great job so far!

Minecraft server jar for 1.12.2 not deleted from zip archive

  • What is the current behavior?
    When generating a server pack for 1.12.2, the Minecraft server jar file is not deleted from the zip archive.

  • If the current behavior is a bug, please provide the steps to reproduce
    Generate a serverpack for a Minecraft 1.12.2 Forge modpack and observe the server jar not being deleted from the archive

  • What is the expected behavior?
    The server jar must be deleted from the archive

Feature request: Allow specification of server.properties to include

  • What is the current behavior?

when selecting the server.properties to be included, it always includes the default one

  • What is the wanted/requested behavior?

use previously set server.properties

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.

Now that, we can save and reload configs. It would be nice if it could load the previously set server.properties from the conf.

Which means, yet another field to store the absolute path to said server.properties, it would pull that one in, if it can't find it, then it would default to the one you're providing?

ps. add this feature per your request

all i did was replaced "server-icon" with "server.properties"

should be noted that I've not actually cared much about server.properties, altho one advantage might be the setting of some values in it such as level-type.

[Template test] [Bug]: A ladybug

What happened?

Such beautiful! Forms are cool AF!

image

What did you expect to happen?

Hmm, I wasn't expecting this! This is great!

Version

3.0.0-alpha.8 (Alpha)

If you are using the webservice, in which browers did you encounter this bug?

No response

Relevant log output

I'm testing as you suggested.

Anything else you would like to add?

Tell me more Tell me more
Was it love at first sight
Tell me more, tell me more
src: https://www.lyricsmania.com/tell_me_more_lyrics_grease.html

Is CODE OF CONDUCT necessary below? I've never seen anyone get asinine in a github issue tracker before.

Code of Conduct

  • I agree to follow this project's Code of Conduct

feat: Check for existance of the server_files before running SPC

When I have deleted server_files, but not serverpackcreator.conf, it hasn't extracted the default server.properties file to server_files folder and produced an exception
java.nio.file.NoSuchFileException: server_files/server.properties at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) ~[?:1.8.0_222] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_222] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:1.8.0_222] at sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:526) ~[?:1.8.0_222] at sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253) ~[?:1.8.0_222] at java.nio.file.Files.copy(Files.java:1274) ~[?:1.8.0_222] at de.griefed.serverPackCreator.CopyFiles.copyProperties(CopyFiles.java:149) [ServerPackCreator.jar:?] at de.griefed.serverPackCreator.Main.main(Main.java:209) [ServerPackCreator.jar:?]

Field for Version Numbering for Packs

  • What is the current behavior?
Currently server packs are just the name of the pack and the words “server_pack”.
  • What is the wanted/requested behavior?

Have an extra field on the form where I can specify the pack version so that it can be included in the server packs filename.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    When I'm uploading packs, i don't have to rename them to reflect the version of the client pack, as it will already be done for me based on that version field.

  • Not asking for specialized incremental mechanics
    I wouldn't recommend going beyond that, it'd be nice if it remembered itself, but then that's up to me to save the config each time. Furthermore, because many individuals have different versioning schemes, that's why I think a plain old field is more than sufficient. :)

Enhancement: Ship empty config file

Config file shipped with SPC should have empty variables.
Move current defaults to comments.

This prevents users accidentally running with wrong settings because they forgot something.
Checks are to be implemented, to ensure every variable (and where possible to check, set correctly) is set before running SPC for production.
This will hopefully make sure users actually go through the config file and at the same time provides some safety against wrong configurations

Crash at install (alpha-7)

  • What is the current behavior?
    Crashing at start. It doesn't even download any of the assets. Tried launching the .exe and the jar file through PowerShell. None of those let it start.

  • If the current behavior is a bug, please provide the steps to reproduce

  • Download version alpha7 or 6.
  • Run PowerShell in folder
  • execute java -jar versionname
  • What is the expected behavior?
    Installing assets and launching the softwar.e

  • Please tell us about your environment:

  • Other information
    Let me know if you need anymore detail, I'm happy to help.

[Bug] Running on linux doesn't work with java path

java.io.IOException: Cannot run program ""/usr/bin/java/bin/java"" (in directory "/home/kreezxil/.config/gdlauncher_next/instances/God Block/server_pack"): error=2, No such file or directory

Probably related to #5

Also:

ok now i changed it to be just "java" and this happened which is a tad inconsistent
2021-02-28T06:50:43,974 ERROR [main] (Server.java:190) - An error occurred during Forge installation. java.io.IOException: Cannot run program ""java/bin/java"" (in directory "/home/kreezxil/.config/gdlauncher_next/instances/God Block/server_pack"): error=2, No such file or directory

Wrong server loader

I told it to make a 1.16.5 Fabric 0.11.6 server, but it made a 1.17.1 Fabric 0.11.6 server.

#modloader log
2021-07-20T16:24:28,287  INFO [pool-2-thread-1] (CreateServerPack.java:569) - Starting Fabric installation.
2021-07-20T16:24:28,532  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Loading Fabric Installer: 0.7.4
2021-07-20T16:24:28,610  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Using latest loader version
2021-07-20T16:24:29,560  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Using latest game version
2021-07-20T16:24:30,034  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Installing Fabric Loader 0.11.6(1.17.1) on the server
2021-07-20T16:24:30,037  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading required files
2021-07-20T16:24:30,074  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:tiny-mappings-parser:0.2.2.14
2021-07-20T16:24:30,300  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:sponge-mixin:0.9.4+mixin.0.8.2
2021-07-20T16:24:30,392  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:tiny-remapper:0.4.2
2021-07-20T16:24:30,417  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:access-widener:1.0.0
2021-07-20T16:24:30,444  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:fabric-loader-sat4j:2.3.5.4
2021-07-20T16:24:30,497  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library com.google.jimfs:jimfs:1.2-fabric
2021-07-20T16:24:30,533  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library org.ow2.asm:asm:9.1
2021-07-20T16:24:30,567  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library org.ow2.asm:asm-analysis:9.1
2021-07-20T16:24:30,592  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library org.ow2.asm:asm-commons:9.1
2021-07-20T16:24:30,620  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library org.ow2.asm:asm-tree:9.1
2021-07-20T16:24:30,646  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library org.ow2.asm:asm-util:9.1
2021-07-20T16:24:30,673  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:intermediary:1.17.1
2021-07-20T16:24:30,741  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library net.fabricmc:fabric-loader:0.11.6
2021-07-20T16:24:30,798  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading library com.google.guava:guava:21.0
2021-07-20T16:24:31,016  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR
2021-07-20T16:24:31,020  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: tiny-mappings-parser-0.2.2.14.jar
2021-07-20T16:24:31,072  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: sponge-mixin-0.9.4+mixin.0.8.2.jar
2021-07-20T16:24:31,306  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: tiny-remapper-0.4.2.jar
2021-07-20T16:24:31,325  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: access-widener-1.0.0.jar
2021-07-20T16:24:31,329  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: fabric-loader-sat4j-2.3.5.4.jar
2021-07-20T16:24:31,401  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: jimfs-1.2-fabric.jar
2021-07-20T16:24:31,446  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: asm-9.1.jar
2021-07-20T16:24:31,466  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: asm-analysis-9.1.jar
2021-07-20T16:24:31,466  INFO [pool-2-thread-1] (CreateServerPack.java:587) - duplicate file: module-info.class
2021-07-20T16:24:31,472  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: asm-commons-9.1.jar
2021-07-20T16:24:31,472  INFO [pool-2-thread-1] (CreateServerPack.java:587) - duplicate file: module-info.class
2021-07-20T16:24:31,485  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: asm-tree-9.1.jar
2021-07-20T16:24:31,485  INFO [pool-2-thread-1] (CreateServerPack.java:587) - duplicate file: module-info.class
2021-07-20T16:24:31,498  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: asm-util-9.1.jar
2021-07-20T16:24:31,499  INFO [pool-2-thread-1] (CreateServerPack.java:587) - duplicate file: module-info.class
2021-07-20T16:24:31,512  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: intermediary-1.17.1.jar
2021-07-20T16:24:31,627  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: fabric-loader-0.11.6.jar
2021-07-20T16:24:31,709  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Generating server launch JAR: guava-21.0.jar
2021-07-20T16:24:32,981  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Done, start server by running fabric-server-launch.jar
2021-07-20T16:24:32,981  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Downloading Minecraft server
2021-07-20T16:24:36,712  INFO [pool-2-thread-1] (CreateServerPack.java:587) - Done
2021-07-20T16:24:36,733  INFO [pool-2-thread-1] (CreateServerPack.java:589) - Returning to ServerPackCreator.
#serverpack creator log
2021-07-20T16:24:27,144  INFO [AWT-EventQueue-0] (CreateServerPackTab.java:702) - Checking entered configuration.
2021-07-20T16:24:27,151  INFO [AWT-EventQueue-0] (Configuration.java:1971) - Successfully written new configuration file.
2021-07-20T16:24:27,151  INFO [AWT-EventQueue-0] (Configuration.java:583) - Checking configuration...
2021-07-20T16:24:27,157  WARN [AWT-EventQueue-0] (Configuration.java:591) - No clientside-only mods specified. Using fallback list.
2021-07-20T16:24:27,161 ERROR [AWT-EventQueue-0] (Configuration.java:1192) - Incorrect Java path specified.
2021-07-20T16:24:27,162  WARN [AWT-EventQueue-0] (Configuration.java:1157) - You didn't specify the path to your Java installation. ServerPackCreator will try to determine it for you...
2021-07-20T16:24:27,163  WARN [AWT-EventQueue-0] (Configuration.java:1165) - ServerPackCreator set the path to your Java installation to: /usr/lib/jvm/java-8-openjdk/jre/bin/java
2021-07-20T16:24:28,051  INFO [AWT-EventQueue-0] (Configuration.java:1045) - Your configuration is:
2021-07-20T16:24:28,051  INFO [AWT-EventQueue-0] (Configuration.java:1046) - Modpack directory: /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric
2021-07-20T16:24:28,052  INFO [AWT-EventQueue-0] (Configuration.java:1052) - Client mods specified. Client mods are:
2021-07-20T16:24:28,052  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     AmbientSounds
2021-07-20T16:24:28,052  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     BackTools
2021-07-20T16:24:28,053  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     BetterAdvancement
2021-07-20T16:24:28,053  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     BetterPing
2021-07-20T16:24:28,053  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     cherished
2021-07-20T16:24:28,054  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     ClientTweaks
2021-07-20T16:24:28,054  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     Controlling
2021-07-20T16:24:28,054  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     DefaultOptions
2021-07-20T16:24:28,054  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     durability
2021-07-20T16:24:28,055  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     DynamicSurroundings
2021-07-20T16:24:28,055  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     itemzoom
2021-07-20T16:24:28,055  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     jei-professions
2021-07-20T16:24:28,055  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     jeiintegration
2021-07-20T16:24:28,055  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     JustEnoughResources
2021-07-20T16:24:28,056  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     MouseTweaks
2021-07-20T16:24:28,056  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     Neat
2021-07-20T16:24:28,056  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     OldJavaWarning
2021-07-20T16:24:28,057  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     PackMenu
2021-07-20T16:24:28,057  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     preciseblockplacing
2021-07-20T16:24:28,057  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     SimpleDiscordRichPresence
2021-07-20T16:24:28,057  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     SpawnerFix
2021-07-20T16:24:28,057  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     TipTheScales
2021-07-20T16:24:28,058  INFO [AWT-EventQueue-0] (Configuration.java:1054) -     WorldNameRandomizer
2021-07-20T16:24:28,058  INFO [AWT-EventQueue-0] (Configuration.java:1059) - Directories to copy:
2021-07-20T16:24:28,058  INFO [AWT-EventQueue-0] (Configuration.java:1064) -     config
2021-07-20T16:24:28,058  INFO [AWT-EventQueue-0] (Configuration.java:1064) -     mods
2021-07-20T16:24:28,059  INFO [AWT-EventQueue-0] (Configuration.java:1071) - Include server installation:      true
2021-07-20T16:24:28,059  INFO [AWT-EventQueue-0] (Configuration.java:1072) - Java Installation path:           /usr/lib/jvm/java-8-openjdk/jre/bin/java
2021-07-20T16:24:28,059  INFO [AWT-EventQueue-0] (Configuration.java:1073) - Minecraft version:                1.16.5
2021-07-20T16:24:28,059  INFO [AWT-EventQueue-0] (Configuration.java:1074) - Modloader:                        Fabric
2021-07-20T16:24:28,060  INFO [AWT-EventQueue-0] (Configuration.java:1075) - Modloader Version:                0.11.6
2021-07-20T16:24:28,060  INFO [AWT-EventQueue-0] (Configuration.java:1076) - Include server icon:              true
2021-07-20T16:24:28,060  INFO [AWT-EventQueue-0] (Configuration.java:1077) - Include server properties:        true
2021-07-20T16:24:28,060  INFO [AWT-EventQueue-0] (Configuration.java:1078) - Include start scripts:            true
2021-07-20T16:24:28,061  INFO [AWT-EventQueue-0] (Configuration.java:1079) - Create zip-archive of serverpack: true
2021-07-20T16:24:28,061  INFO [AWT-EventQueue-0] (Configuration.java:628) - Config check successful. No errors encountered.
2021-07-20T16:24:28,061  INFO [AWT-EventQueue-0] (CreateServerPackTab.java:722) - Configuration checked successfully.
2021-07-20T16:24:28,062  INFO [AWT-EventQueue-0] (CreateServerPackTab.java:729) - Deleted temporary config file.
2021-07-20T16:24:28,062  INFO [AWT-EventQueue-0] (CreateServerPackTab.java:736) - Writing GUI configuration to new serverpackcreator.conf.
2021-07-20T16:24:28,063  INFO [AWT-EventQueue-0] (Configuration.java:1951) - Deleted existing configuration file.
2021-07-20T16:24:28,063  INFO [AWT-EventQueue-0] (Configuration.java:1971) - Successfully written new configuration file.
2021-07-20T16:24:28,064  INFO [AWT-EventQueue-0] (CreateServerPackTab.java:755) - Starting ServerPackCreator run.
2021-07-20T16:24:28,069  INFO [pool-2-thread-1] (Configuration.java:583) - Checking configuration...
2021-07-20T16:24:28,079  WARN [pool-2-thread-1] (Configuration.java:591) - No clientside-only mods specified. Using fallback list.
2021-07-20T16:24:28,082 ERROR [pool-2-thread-1] (Configuration.java:1192) - Incorrect Java path specified.
2021-07-20T16:24:28,083  WARN [pool-2-thread-1] (Configuration.java:1157) - You didn't specify the path to your Java installation. ServerPackCreator will try to determine it for you...
2021-07-20T16:24:28,084  WARN [pool-2-thread-1] (Configuration.java:1165) - ServerPackCreator set the path to your Java installation to: /usr/lib/jvm/java-8-openjdk/jre/bin/java
2021-07-20T16:24:28,195  INFO [pool-2-thread-1] (Configuration.java:1045) - Your configuration is:
2021-07-20T16:24:28,195  INFO [pool-2-thread-1] (Configuration.java:1046) - Modpack directory: /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric
2021-07-20T16:24:28,195  INFO [pool-2-thread-1] (Configuration.java:1052) - Client mods specified. Client mods are:
2021-07-20T16:24:28,195  INFO [pool-2-thread-1] (Configuration.java:1054) -     AmbientSounds
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     BackTools
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     BetterAdvancement
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     BetterPing
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     cherished
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     ClientTweaks
2021-07-20T16:24:28,196  INFO [pool-2-thread-1] (Configuration.java:1054) -     Controlling
2021-07-20T16:24:28,197  INFO [pool-2-thread-1] (Configuration.java:1054) -     DefaultOptions
2021-07-20T16:24:28,197  INFO [pool-2-thread-1] (Configuration.java:1054) -     durability
2021-07-20T16:24:28,197  INFO [pool-2-thread-1] (Configuration.java:1054) -     DynamicSurroundings
2021-07-20T16:24:28,197  INFO [pool-2-thread-1] (Configuration.java:1054) -     itemzoom
2021-07-20T16:24:28,197  INFO [pool-2-thread-1] (Configuration.java:1054) -     jei-professions
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     jeiintegration
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     JustEnoughResources
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     MouseTweaks
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     Neat
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     OldJavaWarning
2021-07-20T16:24:28,198  INFO [pool-2-thread-1] (Configuration.java:1054) -     PackMenu
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1054) -     preciseblockplacing
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1054) -     SimpleDiscordRichPresence
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1054) -     SpawnerFix
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1054) -     TipTheScales
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1054) -     WorldNameRandomizer
2021-07-20T16:24:28,199  INFO [pool-2-thread-1] (Configuration.java:1059) - Directories to copy:
2021-07-20T16:24:28,200  INFO [pool-2-thread-1] (Configuration.java:1064) -     config
2021-07-20T16:24:28,200  INFO [pool-2-thread-1] (Configuration.java:1064) -     mods
2021-07-20T16:24:28,200  INFO [pool-2-thread-1] (Configuration.java:1071) - Include server installation:      true
2021-07-20T16:24:28,200  INFO [pool-2-thread-1] (Configuration.java:1072) - Java Installation path:           /usr/lib/jvm/java-8-openjdk/jre/bin/java
2021-07-20T16:24:28,200  INFO [pool-2-thread-1] (Configuration.java:1073) - Minecraft version:                1.16.5
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1074) - Modloader:                        Fabric
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1075) - Modloader Version:                0.11.6
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1076) - Include server icon:              true
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1077) - Include server properties:        true
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1078) - Include start scripts:            true
2021-07-20T16:24:28,201  INFO [pool-2-thread-1] (Configuration.java:1079) - Create zip-archive of serverpack: true
2021-07-20T16:24:28,202  INFO [pool-2-thread-1] (Configuration.java:628) - Config check successful. No errors encountered.
2021-07-20T16:24:28,202  INFO [pool-2-thread-1] (CreateServerPack.java:278) - Found old server_pack. Cleaning up...
2021-07-20T16:24:28,237  INFO [pool-2-thread-1] (CreateServerPack.java:300) - Cleanup of previous server_pack completed.
2021-07-20T16:24:28,237  INFO [pool-2-thread-1] (CreateServerPack.java:304) - Found old server_pack.zip. Cleaning up...
2021-07-20T16:24:28,240  INFO [pool-2-thread-1] (CreateServerPack.java:307) - Old server_pack.zip deleted.
2021-07-20T16:24:28,241  INFO [pool-2-thread-1] (CreateServerPack.java:381) - Setting up /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric/server_pack/config files.
2021-07-20T16:24:28,263  INFO [pool-2-thread-1] (CreateServerPack.java:381) - Setting up /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric/server_pack/mods files.
2021-07-20T16:24:28,264  INFO [pool-2-thread-1] (CreateServerPack.java:482) - Preparing a list of mods to include in server pack...
2021-07-20T16:24:28,286  INFO [pool-2-thread-1] (CreateServerPack.java:338) - Copying Fabric start scripts...
2021-07-20T16:24:28,287  INFO [pool-2-thread-1] (CreateServerPack.java:568) - Starting Fabric installation.
2021-07-20T16:24:28,287  INFO [pool-2-thread-1] (CreateServerPack.java:824) - Trying to download Fabric installer...
2021-07-20T16:24:28,324  INFO [pool-2-thread-1] (CreateServerPack.java:883) - Successfully retrieved Fabric-Installer XML.
2021-07-20T16:24:28,355  INFO [pool-2-thread-1] (CreateServerPack.java:571) - Fabric installer successfully downloaded. Installing Fabric. This may take a while...
2021-07-20T16:24:36,734  INFO [pool-2-thread-1] (CreateServerPack.java:591) - For details regarding the installation of this modloader server, see logs/modloader_installer.log.
2021-07-20T16:24:36,735  INFO [pool-2-thread-1] (CreateServerPack.java:592) - Returning to ServerPackCreator.
2021-07-20T16:24:36,987  INFO [pool-2-thread-1] (CreateServerPack.java:727) - Fabric shell script generated.
2021-07-20T16:24:36,988  INFO [pool-2-thread-1] (CreateServerPack.java:755) - Fabric batch script generated.
2021-07-20T16:24:36,988  INFO [pool-2-thread-1] (CreateServerPack.java:938) - Cleanup after modloader server installation.
2021-07-20T16:24:36,989  INFO [pool-2-thread-1] (CreateServerPack.java:946) - Deleted fabric-installer.xml
2021-07-20T16:24:36,989  INFO [pool-2-thread-1] (CreateServerPack.java:951) - Deleted fabric-installer.jar
2021-07-20T16:24:36,989  INFO [pool-2-thread-1] (CreateServerPack.java:514) - Copying server-icon.png...
2021-07-20T16:24:36,990  INFO [pool-2-thread-1] (CreateServerPack.java:533) - Copying server.properties...
2021-07-20T16:24:36,990  INFO [pool-2-thread-1] (CreateServerPack.java:653) - Creating zip archive of serverpack...
2021-07-20T16:24:37,707  WARN [pool-2-thread-1] (CreateServerPack.java:671) - !!!       NOTE: The minecraft_server.jar will not be included in the zip-archive.       !!!
2021-07-20T16:24:37,707  WARN [pool-2-thread-1] (CreateServerPack.java:672) - !!! Mojang strictly prohibits the distribution of their software through third parties. !!!
2021-07-20T16:24:37,707  WARN [pool-2-thread-1] (CreateServerPack.java:673) - !!!   Tell your users to execute the download scripts to get the Minecraft server jar.  !!!
2021-07-20T16:24:37,707  INFO [pool-2-thread-1] (CreateServerPack.java:675) - Finished creation of zip archive.
2021-07-20T16:24:37,708  INFO [pool-2-thread-1] (CreateServerPack.java:259) - Server pack available at: /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric/server_pack
2021-07-20T16:24:37,708  INFO [pool-2-thread-1] (CreateServerPack.java:260) - Server pack archive available at: /home/kreezxil/.config/gdlauncher_next/instances/1.16.5 Fabric/server_pack.zip
2021-07-20T16:24:37,708  INFO [pool-2-thread-1] (CreateServerPack.java:261) - Done!

[Template test] [Feature request]: Do my taxes

Whats the feature you would like to be added?

Weird I've never seen this CODE OF CONDUCT thing before. I didn't think it ever necessary to put how humans should treat other humans down into words. Heck that's what the founding documents of each country is for anyway. Have you read the ones for Germany? I bet the read very similar to the Constitution of the United States.

Anything else you would like to add?

I'm concerned for you now because of that CODE OF CONDUCT, I'm wondering who has treated you so badly that it had to be stated.

Btw, you might lose reports because you require them to agree to it.

Instead it's better to say as a byline on the bottom of the forms that this project is governed by the CODE OF CONDUCT.

Also helpful resources wouldn't be more links regarding the code of conduct but instead a wiki explaining all the nuances of ServerPackCreator, both the webservice and the app.

image

It makes you look more political and stanced on the belief vs your own project.

Code of Conduct

  • I agree to follow this project's Code of Conduct

fix: Add try/catch block for forge/fabric/mc jar download

Yesterday the Forge website was down for a few minutes. When I tried to make a ServerPack with Forge, it threw an exception that is listed below and continued its work. Think that when this exception is thrown SPC need to System.exit(error code)

2021-03-17T20:47:02,784 ERROR [main] (ConfigCheck.java:325) - An error occurred during Forge version validation. java.net.ConnectException: Operation timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_222] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_222] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_222] at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_222] at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666) ~[?:1.8.0_222] at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) ~[?:1.8.0_222] at sun.net.NetworkClient.doConnect(NetworkClient.java:180) ~[?:1.8.0_222] at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) ~[?:1.8.0_222] at sun.net.www.http.HttpClient.openServer(HttpClient.java:558) ~[?:1.8.0_222] at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) ~[?:1.8.0_222] at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) ~[?:1.8.0_222] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) ~[?:1.8.0_222] at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162) ~[?:1.8.0_222] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056) ~[?:1.8.0_222] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) ~[?:1.8.0_222] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570) ~[?:1.8.0_222] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498) ~[?:1.8.0_222] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268) ~[?:1.8.0_222] at java.net.URL.openStream(URL.java:1057) ~[?:1.8.0_222] at de.griefed.ServerPackCreator.ConfigCheck.isForgeVersionCorrect(ConfigCheck.java:288) [classes/:?] at de.griefed.ServerPackCreator.CLISetup.setup(CLISetup.java:86) [classes/:?] at de.griefed.ServerPackCreator.Main.main(Main.java:18) [classes/:?]

select mod loader needs to sort down like select mc version does

  • What is the current behavior?

select mod loader lists oldest mod loader first and most current last, which is opposite of the mc versions drop-down.

  • What is the wanted/requested behavior?

select mod loader list should show the most recent or latest on the top and the sort down towards the oldest. Also the most recent should be auto-selected the first time this feature is accessed on a new server pack build.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    The most solid argument I can make is "convenience". By not having to scroll to the bottom of the list for the most recent modloader version of fabric or forge.

This has existed in all versions since the drop down lists were implemented to include the alpha you released on the 27th.

Unresponsive after server pack generation

  • What is the current behavior?

After a successful run of SPC in the GUI, resizing the window can sometimes freeze the application, making it unusaböe unless restarted. Said restart often requires the user to kill the process. Trying to close the program via X or "Exit" doesn't work when the program has frozen.

Suspects are the log tailers.

  • If the current behavior is a bug, please provide the steps to reproduce
  • Generate one or more server packs
  • Try to resize the window
    • If resizing freezes the window or if resizing doesn't work, try closing
  • What is the expected behavior?
  • The program should be responsive at all times.
  • Users should always be able to exit and/or resize the window
  • Please tell us about your environment:
  • Your Operating System: Win 10 20h2
  • Your Java version: JDK 8 301
  • Your ServerPackCreator version: 3.0.0-alpha.2
  • Your config file: Any config which successfully generates a server pack.
  • Your latest log file: Any log after a successfull server pack generation.
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Hard to reproduce. SPC doesn't always freeze. Have yet to find common denominator.
This will be a tough one to pin down...

Known Issues

CurseForge:

  1. Will be adressed in 3.x.x - 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.
    This has been fixed in 3.x, see 539341d

  2. Solved as of version 2.0.2 The Minecraft server JAR is sometimes not deleted from server_pack-zip. This may be due to some process still accessing the server_pack-zip file which prohibits ServerPackCreator from editing it. When running creating a server pack, make sure nothing is interfering or otherwise accessing the server pack files so ServerPackCreator can successfully and safely create and edit the files.

[Feature request]: Java variable needed

Whats the feature you would like to be added?

The script needs a line for Java to use

Currently in the ".sh" we have

MINECRAFT="1.17.1"
FORGE="37.1.0"
ARGS=""

if we had one more for java

# default
JAVA="java"

Then for those of us with multiple javas to run multiple Minecrafts for example can easily change all the java in the script with just one variable.

Anything else you would like to add?

this field doesn't need to be required.

image

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Unable to access jarfile fabric-server-launch.jar

What happened?

I ran the Server Pack Creator with the following settings

image

Than ran the script.sh file and found the following error:
Unable to access jarfile fabric-server-launch.jar
I found the issue. In the start.sh script (and the start.bat) I found:
FABRIC="0.1.0.48"
instead of
FABRIC="0.12.11"
When I made the change the server fired right up.
install.log

When I ran the script it asked me to accept the eula, which I did. However, the eula did not get written to a file until later when it was false. I had to stop the server > edit the eula > restart the server. I would be nice if the script wrote the eula file with true (as I answered in the terminal) instead of false.

What did you expect to happen?

Detailed explanation on what you expected goes here!

Version

3.0.0-alpha.11 (Alpha)

If you are using the webservice, in which browers did you encounter this bug?

No response

Relevant log output

No response

Anything else you would like to add?

Tell me!

Code of Conduct

  • I agree to follow this project's Code of Conduct

2.2.0-alpha.4

Getting a nullpointer on list of mods to put into server. I have no theories on this one. Will try all the previous versions again until I find one that works.

2021-08-24T17:10:59,583  INFO [pool-2-thread-1] (ServerPackHandler.java:583) - Preparing a list of mods to include in server pack...
Exception in thread "pool-2-thread-1" java.lang.NullPointerException
        at de.griefed.serverpackcreator.ServerPackHandler.excludeClientMods(ServerPackHandler.java:591)
        at de.griefed.serverpackcreator.ServerPackHandler.copyFiles(ServerPackHandler.java:515)
        at de.griefed.serverpackcreator.ServerPackHandler.run(ServerPackHandler.java:256)
        at de.griefed.serverpackcreator.swing.TabCreateServerPack.lambda$null$9(TabCreateServerPack.java:866)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

My default java is 8. However I do have 11 and 16. I'll try the latest one and see if that helps at all.

Feature request: Store loaded configuration file as well as default configuration file

I am not sure if this is a feature or not yet

  • What is the current behavior?

auto save the conf to the last loaded conf and not just the default conf

  • What is the wanted/requested behavior?

when I power it up, it remembers the alternate conf that I used, and will auto save to that one when I tell it to build, not just the current conf

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.

for multiple pack devs such as myself with 61+ packs, 2 more by xmas, this wwould be a beneficial feature.

Enhancement: Merge error logging and status logging, change action logging to debug

Title.
Current logs are difficult to read.
I will rename actions.log to serverpackcreator.log which will include errors and information regarding the state that SPC is currently in.
Actions such as copying file foo.file to folder/bar.file will either be moved to debug stage to be enabled on demand by user if need be, or be removed entirely.
Probably debug, though. It's not very useful information, but nice to check whehter SPC works with the correct files.
Will probably get to it on sat 13.03.2021

Bug: Start-scripts for Minecraft 1.17.1 Forge incompatible

  • What is the current behavior?
    The start-scripts which ServerPackCreator generates are incompatible with Forge versions for Minecraft 1.17.1.
    Forge changed the way their server is started with said version, thus requiring a different setup.

  • If the current behavior is a bug, please provide the steps to reproduce

  1. Generate a Minecraft 1.17.1 Forge server pack and let ServerPackCreator generate start-scripts.
  2. Try to start the server with said start-scripts.
  • What is the expected behavior?

The scripts generated by ServerPackCreator should work for Minecraft 1.17.1 Forge.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

A fix will be rolled out together with the changes from #81

A user on discord reported:

Linux:
java @libraries/net/minecraftforge/forge/1.17.1-37.0.82/unix_args.txt

Windows:
java @libraries/net/minecraftforge/forge/1.17.1-37.0.82/win_args.txt
Java 16 is also required for this startup.
Forge 1.17 doesn't have a single jar file like forge 1.16 and lower, so you can't do -jar forge.jar, you have to run unix_args.txt or win_args.txt.

[Feature Request]: Improve error reporting

What happened?

This is probably should be a feature request, but I feel it is also a bug.

image

What did you expect to happen?

Since the program is aware that something is amiss, instead of being vague about, it should say what it found to be a problem.

Version

3.0.0-alpha.8 (Alpha)

If you are using the webservice, in which browers did you encounter this bug?

No response

Relevant log output

2021-11-28T15:51:53,657  INFO [AWT-EventQueue-0] (TabCreateServerPack.java:1123) - Checking entered configuration.
2021-11-28T15:51:53,660  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:1707) - Successfully written new configuration file.
2021-11-28T15:51:53,661  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:152) - Checking configuration...
2021-11-28T15:51:53,689 ERROR [AWT-EventQueue-0] (ConfigurationHandler.java:918) - Error: Specified directory/file /home/kreezxil/.config/gdlauncher_next/instances/World of Dragons II/structurize does not exist. Please specify existing directories or files.
2021-11-28T15:51:53,690 ERROR [AWT-EventQueue-0] (ConfigurationHandler.java:361) - There's something wrong with your setting of directories to include in your server pack.
2021-11-28T15:51:53,694  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:790) - Your configuration is:
2021-11-28T15:51:53,695  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:791) - Modpack directory: /home/kreezxil/.config/gdlauncher_next/instances/World of Dragons II
2021-11-28T15:51:53,695  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:799) - Client mods specified. Client mods are:
2021-11-28T15:51:53,696  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     DefaultOptions_1.16.5-12.2.1.jar
2021-11-28T15:51:53,697  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     Neat 1.7-27.jar
2021-11-28T15:51:53,697  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     ReAuth-1.16-Forge-3.9.3.jar
2021-11-28T15:51:53,698  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     Toast-Control-1.16.4-4.3.1.jar
2021-11-28T15:51:53,699  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     desiredservers-1.16.4-1.0.1.jar
2021-11-28T15:51:53,700  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     fancymenu_2.2.2-2_MC_1.16.2-1.16.5.jar
2021-11-28T15:51:53,701  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     journeymap-1.16.5-5.7.3.jar
2021-11-28T15:51:53,701  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     torchoptimizer-1.16.5-2.4.8.jar
2021-11-28T15:51:53,703  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:801) -     yisthereautojump-1.16.4-1.0.1.jar
2021-11-28T15:51:53,703  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:807) - Directories to copy:
2021-11-28T15:51:53,704  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:821) - Include server installation:      true
2021-11-28T15:51:53,705  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:822) - Java Installation path:           /usr/lib/jvm/java-8-openjdk/jre/bin/java
2021-11-28T15:51:53,705  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:823) - Minecraft version:                1.16.5
2021-11-28T15:51:53,706  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:824) - Modloader:                        Forge
2021-11-28T15:51:53,706  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:825) - Modloader Version:                36.2.9
2021-11-28T15:51:53,707  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:826) - Include server icon:              true
2021-11-28T15:51:53,708  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:827) - Include server properties:        true
2021-11-28T15:51:53,709  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:828) - Create zip-archive of serverpack: true
2021-11-28T15:51:53,709  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:829) - Java arguments for start-scripts: -Xmx8G -Xms8G
2021-11-28T15:51:53,710  INFO [AWT-EventQueue-0] (ConfigurationHandler.java:830) - Server pack suffix:               -4.3.52
2021-11-28T15:51:53,711 ERROR [AWT-EventQueue-0] (ConfigurationHandler.java:246) - Config check not successful. Check your config for errors.

Anything else you would like to add?

the version on this form doesn't go the latest any more :(

Code of Conduct

  • I agree to follow this project's Code of Conduct

Mod sideness specification reference issue

Reference issue for myself which I am going to use in case I open any PRs for open source mods to change the sideness specification in their mods.toml-files.

mods.toml need to specify their sideness so Minecraft/Forge knows whether the mod needs to be available on the client, the server, or both. If a mod uses the modId for dependencies.<value_of_modId> it also helps with ServerPackCreator identifying clientside-only mods. ServerPackCreator will try to catch as many clientside-only mods as possible, but if any mod fails to "correctly" specify their dependencies or sideness, well, though luck...

If anyone wants to help with this endavour, go ahead! Fork the mod in question, make the changes to their mods.toml file, open a PR for their repository and hopefully every future version of the mod in question will be identifiable by ServerPackCreator.

Feel free to reference this issue in any of the said PRs, but only the PRs and not the commit messages themselves. Keeps things clean-ish.

Usually looks like:

	[[dependencies.dsurround]]
		modId="forge"
		mandatory=true
		versionRange="[35.1.10,)"
		ordering="NONE"
		side="CLIENT"

	[[dependencies.dsurround]]
		modId="minecraft"
		mandatory=true
		versionRange="[1.16.4,1.17)"
		ordering="NONE"
		side="CLIENT"

or

[[mods]] #mandatory
modId="enhancedcelestials" #mandatory
version="${file.jarVersion}" #mandatory
displayName="Enhanced Celestials" #mandatory
#updateJSONURL="http://myurl.me/" #optional
#displayURL="http://example.com/" #optional
#logoFile="examplemod.png" #optional
authors="Corgi Taco"
description='''
A minecraft mod adding new Lunar Events!
'''
[[dependencies.examplemod]]
    modId="forge"
    mandatory=true
    versionRange="[33.0.22,)"
    ordering="NONE"
    side="BOTH"
[[dependencies.examplemod]]
    modId="minecraft"
    mandatory=true
    versionRange="[1.16.2,)"
    ordering="NONE"
    side="BOTH"

or

[[mods]]
	modId="ambientsounds"
	version="3.0.3"
	displayName="Ambient Sounds"
	side="CLIENT"
	displayURL="https://minecraft.curseforge.com/projects/ambientsounds"
	authors="CreativeMD"
	clientSideOnly="true"
	acceptableRemoteVersions="*"
	description='''Expands minecraft's ambient sounds.'''
	
[[dependencies.ambientsounds]]
	modId="creativecore"
	mandatory=true
	ordering="NONE"
	side="BOTH"
	versionRange="[2.0.0,)"

In addition, if a mods.toml-file would specify their sideness in the [[mods]]-section, that would be great. Just like the example for AmbientSounds above does. That's perfect, I can work with that!

Status Needs to be cleaner.

  • What is the current behavior?

The status line that appears at the bottom of the app while server pack is being built could use some cleaning of extraneous characters.

  • If the current behavior is a bug, please provide the steps to reproduce

make a server pack

  • What is the expected behavior?

clean status line

  • Please tell us about your environment:
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

what the status line looks like for me.
image

[Feature] Get java installpath automatically

From a friendly user on Discord:

this line is wrong.
javaPath = "C:\\Program Files\\Java\\jdk1.8.0_271"

Because if i first run your jar on a Linux system, it needs to be able to say, "oh damn! I'm on Linux"
Of which you can then do
which java

and it will return a path to where the primary java is located, if you need a version, of that java you can get it from doing java -version or w/e the path was returned you know this last part I'm sure.
kreezxil@970AKRAIT:~/Software/ServerPackCreator$ which java /usr/bin/java
if you tackle the problem tho, you'll be more valuable to the crown tho.

Feature request: Allow specification of server icon to include

  • What is the current behavior?

when selecting the server icon to be included, it always includes the default one

  • What is the wanted/requested behavior?

use previously set server icon

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.

Now that, we can save and reload configs. It would be nice if it could load the previously set server-icon from the conf.

Which means, yet another field to store the absolute path to said server-icon, it would pull that one in, if it can't find it, then it would default to the one you're providing?

Improvement: Allow specifying files to add to server pack with simple `some.file` connotations, just as direcetories, in copyDirs

What is the current behavior?

Specifying a file from the modpack to include in the server pack currently has to be done in a modpack/source/path/file.txt;path/to_file_in/server_pack/file.txt``-way. For example options.txt;options.txtwill result in the fileoptions.txt` from the modpack to be copied to the base dir of the server pack to be generated.

What is the wanted/requested behavior?

Simply specifying foo.bar should result in said file being copied to the relative destination as it is at the source. Example options.txt should result in said file being copied to the base dir of the server pack, without the need to explicitly tell ServerPackCreator the destination.

So: ServerPackCreator should allow specifying foo.bar and it should then copy the file to the relative destination in the server pack, correlating to the source of the file, thus not requiring the user to do any source;destination malarky if they simply want a single file to be added to the same destination-path as the source-path.

What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.

Feature request: Reset fields in GUI to start with a fresh new configuration

  • What is the current behavior?

No way to reset the data to blank.

  • What is the wanted/requested behavior?

Set the data to blank with File->New Configuration

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.

To not have to delete all the fields when starting on a fresh configuration.

3.0.0-alpha.2 and .1 crashing

  • What is the current behavior?

It's doing this in shell before crashing out.

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: com.typesafe.config.ConfigException$WrongType: serverpackcreator.conf: 9: clientMods has type list of LIST rather than list of STRING
        at com.typesafe.config.impl.SimpleConfig.getHomogeneousUnwrappedList(SimpleConfig.java:393)
        at com.typesafe.config.impl.SimpleConfig.getStringList(SimpleConfig.java:441)
        at de.griefed.serverpackcreator.swing.TabCreateServerPack.loadConfig(TabCreateServerPack.java:1035)
        at de.griefed.serverpackcreator.swing.TabCreateServerPack.createServerPackTab(TabCreateServerPack.java:582)
        at de.griefed.serverpackcreator.swing.SwingGuiInitializer.<init>(SwingGuiInitializer.java:169)
        at de.griefed.serverpackcreator.Main.main(Main.java:279)
        ... 8 more
  • If the current behavior is a bug, please provide the steps to reproduce
  • What is the expected behavior?

running it with java 8, 11, and 16, all same result, just one step, run it. I suspect because it is Sunday, that CF and whomever you're using to pull from, has done something with their api again.

  • Please tell us about your environment:
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2
Kernel Version: 5.12.19-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 8 × AMD FX(tm)-8350 Eight-Core Processor
Memory: 23.5 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 750 Ti/PCIe/SSE2

Allow for specification of files to be included in server pack. Extends "Folders to be included in server pack".

  • What is the current behavior?
    Only folders inside the modpack can be specified for inclusion in the server pack. The user can not specify files to be included in the to-be-created server pack.

  • What is the wanted/requested behavior?
    Allow users to specify files inside their modpack to be included in the to-be-created server pack.

  • What are your reasons for making this feature request? Provide solid arguments on why I should start working on it.
    User jackboi03 on Discord messaged me with the request of adding a feature to include a whitelist in the server pack.
    Server packs created should be uploadable to Modpack sharing sites like CurseForge and anyone who downloads these server packs should be able to use them right from the get go.
    Including a pre-defined whitelist goes against that, as it would automatically restrict who can join the server created from the server pack in question.
    However. That being said. I may be able to expand a feature so it would allow users to include a whitelist, should they wish so.
    I'll see whether I can make it so a combination of "path/to/sourcefile:/path/to/server/pack/file" would allow the user to include any specific file as well.

Clientside-only mods deleted in modpack as well as server_pack

  • What is the current behavior?
    ServerPackCreator deletes clientside mods not only in the server_pack, but in the modpack, too.

  • If the current behavior is a bug, please provide the steps to reproduce
    Install any modpack with clientside mods, configure serverpackcreator.conf accordingly, run it, see the configured mods disappear from modpack AND server_pack.

  • What is the expected behavior?
    Clientside mods should ONLY be deleted from server_pack

  • Please tell us about your environment:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.