tetra-fox / ml-gen

πŸ‰ MelonLoader's toolchain, but as a GitHub Action.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ml-gen

MelonLoader's toolchain, but as a GitHub Action. Useful for CI builds of MelonLoader mods.

Usage

# .NET is required
- name: Setup .NET
  uses: actions/setup-dotnet@v2
  with:
    dotnet-version: 5.0.x

- name: Generate libraries
  uses: tetra-fox/ml-gen@latest
  with:
    game: among-us
    game_path: ${{ github.workspace }}/Among Us
    game_executable: Among Us

Notes

  • You must provide your own game binaries. You can automate this process with tools such as DepotDownloader.
    • I personally use the Steamfetch action to accomplish this.
    • The specific binaries you need are the following:
      • Executable (e.g. Among Us.exe)
      • GameAssembly.dll
      • [game]_Data/il2cpp_data/Metadata/global-metadata.dat
      • UnityPlayer.dll (Windows runners only)
      • [game]_Data/globalgamemanagers OR [game]_Data/data.unity3d, whichever your game has. (Linux & macOS runners only)
    • You must leave the directory structure intact.
  • You can figure out what your game's gameSlug is here.
  • This action mimics the directory structure of a game with MelonLoader installed, with the output .dlls in the MelonLoader/Managed directory, and tools in MelonLoader/Dependencies/Il2CppAssemblyGenerator.

Inputs

Name Description Default Example Type Required
game gameSlug from MelonLoader API among-us string βœ“
game_path Path to your Unity game /Games/Among Us string βœ“
game_executable Your Unity game's executable name Among Us string βœ“
unity_version Override Unity version (If it was not automatically found) 2020.3.22 string βœ—
work_path Temp directory ${{ github.workspace }}/ml-gen ./cool-tools string βœ—
output_path Output directory for libraries [game_path]/MelonLoader/Managed ./here/go/libs string βœ—
ml_version MelonLoader release tag name latest v0.4.2 string βœ—
github_token GitHub token for MelonLoader API ${{ github.token }} bunch'o'chars string βœ—

About

πŸ‰ MelonLoader's toolchain, but as a GitHub Action.

License:GNU General Public License v3.0


Languages

Language:TypeScript 100.0%