Skip to content

Commit

Permalink
Update guide with new Alpakit Release UI
Browse files Browse the repository at this point in the history
  • Loading branch information
budak7273 committed Oct 10, 2024
1 parent d02e284 commit da4ca58
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 52 deletions.
Binary file modified modules/ROOT/images/BeginnersGuide/AlpakitReleaseDemo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 34 additions & 29 deletions modules/ROOT/pages/Development/BeginnersGuide/ReleaseMod.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -364,46 +364,37 @@ You can paste in your uplugin file into the box on the right
and it will display any error messages below the box.

The validator isn't perfect, but it can help troubleshoot many errors that could occur during upload.

If it fails validation, keep your eyes out for things like missing commas
and mismatched braces and brackets.

Remember, you can totally avoid formatting concerns by using the Alpakit widget in the editor!

Consider asking on the Discord if you get stuck on this step.

== Exporting
[id="ArchivedPluginsDirectory"]
== How Mod File Exporting Works

Up until this point, you have likely been using the Alpakit 'copy to mods directory' feature
Up until this point, you have likely been using the Alpakit Dev 'copy to mods directory' feature
to stage your mods files in game's folders for testing.

Behind the scenes, using the 'Alpakit Dev' or the 'Alpakit!' (just this mod) buttons
Behind the scenes, using the 'Alpakit Selected (Development)' or the 'Alpakit!' (just this mod) buttons
generates a zip archive for you located at
`<starter project folder>/Saved/ArchivedPlugins/YourModReference/YourModReference-TargetPlatformName.zip`.

Note that this folder is in the **starter project's Saved folder**,
not the Saved folder of any of your mods.

This zip contains all of your mod's packaged files, although it does not contain any dependency mods -
you must specify those via the system described in the link:#_your_mods_uplugin_file[uplugin section].

Consider checking the zip's contents to see if they're what you expect.
If for some reason you need extra files to be packaged into the mod, follow the directions
xref:Development/BeginnersGuide/Adding_Ingame_Mod_Icon.adoc#_setup[here]
to tell Alpakit to include them when building.

== Sending Your Mod to Testers

You may want to send out an early release of your mod to a few users you trust to test it before continuing.

They will have to follow the xref:ManualInstallDirections.adoc[Manual Installation]
directions to install it from the zip file.

[id="PackageForUpload"]
== Package for Release

Once you're ready to release your mod, you will need to package your mod for uploading.
It's time to make use of the Release Targets and "Alpakit Release" tab that we've been ignoring until now.
It's time to make use of the "Alpakit Release" tab that we've been ignoring until now.
Open it by clicking the alpaca rocket button, or `File` > `Alpakit Release`.

=== Release Targets Explained

Expand All @@ -419,28 +410,43 @@ There are Stable and EXP variants of each of these:
- `Windows Server` - Windows Dedicated Server version of Satisfactory. It doesn't have a visual interface and is used to run servers from Windows, which is somewhat uncommon.
- `Linux Server` - Linux Dedicated Server version of Satisfactory. This is what most dedicated servers will be running, especially those hosted by third party services.

There are also slightly different versions of the Windows client for Steam and Epic.
Your mod must be compiled in a slightly different way to be usable on each of these platforms,
especially to be compatible with Linux Server.
Thankfully, Alpakit handles compiling your mod for all 3 of these target platforms for you.
However, while you are testing your mod locally in singleplayer,

Thankfully, Alpakit handles compiling your mod for all 3 of these target platforms and 2 launcher variants for you!

[NOTE]
====
While you are testing your mod locally in singleplayer,
it's a waste of time to compile and package the code for the other platforms you aren't using.
The "Alpakit Dev" and "Alpakit!" (just this mod) buttons follow your Dev Packaging Settings,
That's why the 'Alpakit Selected (Development)' and development 'Alpakit!' (just this mod) buttons follow your Dev Packaging Settings,
compiling just the target(s) you care about while testing.
It also only compiles the Epic/Steam variant of the client when it can be detected from your "Copy to Game Path" value.
====

=== Configuring Release Targets

Now that we're ready for release
we can use the Release Targets checkboxes to define which targets the mod is compatible with.
If you leave out one of these targets, the mod will not on that platform!
In most cases, especially for mods with no custom {cpp} code, you should check all 3 targets.
Before the mod can be released, use the Release Targets checkboxes to define which targets the mod is compatible with.
If you leave out one of these targets, the mod will not work on that platform!

Pressing the Alpakit Release button will package all mods that you have checked in the leftmost column
in the multi-target zip format that the Mod Repository is expecting.
In the example image below, clicking Alpakit Release will package the SML and ExampleMod mods for all 3 release targets, skipping the second mod in the list.
[IMPORTANT]
====
In most cases, especially for mods with no custom {cpp} code, *_you should check all 3 Release Target checkboxes_*.
This means your mod will run on game clients and dedicated servers.
====

=== Alpakit Release

The 'Alpakit Selected (Release)' and release 'Alpakit!' (just this mod) buttons
will compile and package mods for all targets into one multi-target zip file.
In the example image below, clicking `Alpakit!` for ExampleMod builds it for all 3 targets.

image:BeginnersGuide/AlpakitReleaseDemo.png[Alpakit Release with Example Mod and SML selected]

Adjust the left column checkboxes so that only your mod is selected, then use the 'Alpakit Release' button.
This will generate file in the same ArchivedPlugins folder mentioned earlier called `YourModReference.zip`.
This zip file contains all of the mods' selected targets in one file ready to be uploaded to SMR.
Once complete, find the completed package in the same link:#ArchivedPluginsDirectory[ArchivedPlugins folder mentioned earlier]
called `YourModReference.zip`.
This is the file you'll upload to the Mod Repository later.

== Last Chance to Change Your Mod Reference

Expand All @@ -450,7 +456,6 @@ once you release your mod, you can no longer change its Mod Reference.

If you decide to change it, you'll have to edit a number of files, most of which are described on that page.


== Upload to Satisfactory Mod Repository

Follow the directions on the xref:UploadToSMR.adoc[Uploading to SMR]
Expand Down
10 changes: 1 addition & 9 deletions modules/ROOT/pages/Development/UpdatingFromSml37.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,8 @@ The contents of this page will change frequently!
Keep your eyes on the `#modding-info-feed` discord channel to be notified when updates are made.
====

====
TODO
- update the regular modding guides to use the new Alpakit UI and mention game version stuff (partially done)
- Update generic updating guide to have a step for bumping game and SML version
- update uplugin fields page with GameVersion dep (done?)
====

SML3.8 brings support for the game's 1.0 release, as well as a few new toys and fixes to long-running bugs.
Mods compiled for SML3.7 will not work with SML3.8 due to the game's engine update.
Mods compiled for SML3.7 will not work with 1.0 and SML3.8 due to the game's engine update and compilation target overhaul.

Please _read this entire page before you begin updating your mod_.
It will save you time later to have an idea going in of what to expect while updating.
Expand Down
30 changes: 16 additions & 14 deletions modules/ROOT/pages/UploadToSMR.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ You still need to upload a version for your mod to be usable by players.
Until then, your mod will be marked as 'Outdated' since there are no compatible versions.
This version submission process will be covered in the following sections.

== Export your Plugin
== Package your Mod

Before you can upload a version,
there are a few fields you need to edit in your mod's uplugin file,
Expand All @@ -117,14 +117,14 @@ then select 'New Version' in the top right corner.
This will take you to a page where you can upload a version file,
as well as provide some additional info about the version.

Select the output zip from the link:#_export_your_plugin[Export your Plugin section]
Select the output zip produced when
xref:Development/BeginnersGuide/ReleaseMod.adoc#ArchivedPluginsDirectory[packaging your mod with Alpakit Release]
with the picker the `File` field.
It will be called `YourModReference.zip`
and will be larger than all of the other zips in the folder.
This larger zip contains the zips for each target platform combined as one file ready for upload.
and should be larger than all of the other zips in the folder.
This zip contains the files for each target platform combined into one ready-for-upload package.

Finally, write up a list of all of the things you changed or added in this version for the `Changelog` field.
We also strongly suggest you copy this information into an 'update history' section of your mod's description on the main mod page.

[TIP]
====
Expand All @@ -135,14 +135,15 @@ Otherwise, no notification will be sent on the Discord about your mod's release,
and nobody will be able (easily) to find your mod on the site.
====

You should be all set now - once you press `Create`, the upload process will begin,
and your mod will be ready for use once it completes.

[TIP]
[WARNING]
====
Make sure to read the https://ficsit.app/content-policy[Content Policy] before uploading!
Make sure to read the https://ficsit.app/content-policy[ficsit.app Content Policy] before uploading
and ensure your mod follows the rules.
====

You should be all set now - once you press `Create`, the upload process will begin,
and your mod will be ready for use once it completes.

If any errors occur during the upload, they will be displayed on this screen.
The xref:Development/BeginnersGuide/ReleaseMod.adoc#_smr_uplugin_validator[uplugin validator] may be of use.
Consider asking for help on the Discord if you're not sure how to resolve them.
Expand Down Expand Up @@ -191,10 +192,11 @@ We suggest taking the following steps to encourage users to try out your mod:
== Uploading an Update

When you upload a new version of your mod,
make sure to change the `Version`, `VersionName`, and `SemVersion` fields
in your `<mod reference>.uplugin`.
You should also change the version specified in the mod's dependency on SML to the latest release of SML.
You can find the latest SML version release number https://ficsit.app/sml-versions[here].
make sure to increase the `Version`, `VersionName`, and `SemVersion` fields
in your `<mod reference>.uplugin` accordingly.
You should also change the version specified in the mod's dependency on SML to the latest release of SML
and the GameVersion to be the latest version of the game that your mod supports.
Alpakit Release's warning buttons will assist with this.

These edits can be performed in the editor via the Alpakit helper
or by directly editing the `.uplugin` file in a text editor.

0 comments on commit da4ca58

Please sign in to comment.