59 Commits

Author SHA1 Message Date
Luke Street 42b2aedea6 Forge mod ordering / JSON fixes 2020-06-21 14:06:50 -04:00
Daniel Scalzi 6626cc1c02 Use inferred value if modid is null/empty. 2020-06-13 01:22:49 -04:00
Daniel Scalzi bf8e420bbd Fix error caused by undefined versions, error propagation in zip processor. 2020-06-13 00:56:51 -04:00
Daniel Scalzi 2f679411b9 Fix OptiFine resolution for 1.13+. 2020-06-13 00:31:47 -04:00
Daniel Scalzi ceb23f11a5 Attempt to perform a metadata inference on file names to account for mod author neglect. 2020-06-13 00:10:20 -04:00
Daniel Scalzi a6b6ed9db3 Add distrometa.json for storing distribution wide metadata.
The distrometa.json file is stored at {ROOT}/meta/distrometa.json.
You can generate it by rereunning the init root command.
It behaves exactly the same as the servermeta.json file.
2020-06-10 11:09:49 -04:00
Daniel Scalzi 97ffb9c44b Add more properties to servermeta.json
This file will have to be regenerated for existing servers.
2020-06-04 20:25:50 -04:00
Daniel Scalzi 151ad481ad Update README.md. 2020-06-04 19:13:51 -04:00
Daniel Scalzi 2d8e5d16e7 Update fs-extra. 2020-06-04 17:51:57 -04:00
Daniel Scalzi d627ce72a3 Replace AdmZip with node-stream-zip. 2020-06-02 23:07:59 -04:00
Daniel Scalzi 0b063e4bfc Added winston for logging. 2020-06-02 20:47:34 -04:00
Daniel Scalzi 672424b973 Add support for processing 1.12.2 Forge compiled with Forge Gradle 3 (#8).
Changed the resolver names to match the Forge Gradle versions, since that software version
determines the structure of the jar file and how it needs to be parsed.
Refactored the ForgeGradle3 resolver to conditionally execute the installer only when we
need artifacts generated by the installer. This allows the new 1.12.2 builds to be processed
without running the installer.
Changed the VersionSegemented interface to accept a libraryVersion, so we can segment within
a minecraft version.

This change is pending verification with Helios.
2020-06-02 17:16:15 -04:00
Daniel Scalzi 6e94883f23 Ensure invalid checksums arent used. 2020-05-30 01:26:39 -04:00
Daniel Scalzi 407032df61 Fix download of forge libraries for older versions.
Added function to determine extension type by checking the forge server.
2020-05-30 01:19:19 -04:00
Daniel Scalzi 87e5299af6 Update eslint. 2020-05-29 22:35:45 -04:00
Daniel Scalzi 00842c9dff Wrap MinecraftVersion in its own object. 2020-05-29 22:15:56 -04:00
Daniel Scalzi 23a452f0b6 Use TypeMetadata for lib extension, listen to process error event. 2020-05-19 22:14:11 -04:00
Daniel Scalzi afcae366b5 Added basic library discovery.
Put all libraries into the libraries folder at the root of your server directory.
These will be added to the distribution as Library modules. Recall, Library modules
are added to the client's classpath at runtime.
2020-05-19 21:52:41 -04:00
Daniel Scalzi 43fb84f4a9 Fix vuln in eslint dependency. 2020-03-18 19:05:05 -04:00
Daniel Scalzi 00d8f6b12a Dependency Upgrade. 2020-03-16 21:00:57 -04:00
Daniel Scalzi ef4506a8fd Fix issue where client slim and extra are appended with -stable on 1.14.4. 2020-02-25 15:40:27 -05:00
Daniel Scalzi 4d7c8e2f9f Dependency upgrade. 2020-02-25 14:58:45 -05:00
Daniel Scalzi f99e53bed2 Default to 0.0.0 if 1.7-1.12 mod contains version wildcard.
This data likely lives only in the class file, which we cannot access.
2020-02-19 01:16:44 -05:00
Daniel Scalzi 126d6e67dc Dependency upgrade. 2020-02-19 01:06:11 -05:00
Daniel Scalzi 68ba25543b Fix url generation for recursive files. 2020-02-16 19:07:32 -05:00