muguet README

The project's README from github.com/c22dev/muguet. As one markdown file: README.md.

Muguet

A native Mach-O iOS/macOS port of GTA V, with multiplayer

How does this work ?

this whole port relies on the WebAssembly compilation of the game. in a browser, that game.wasm runs inside the JS engine, behind WebGPU, Web Audio, web workers... Muguet throws that layer away and runs the same game.wasm as a regular native app, with wasmtime for the code and wgpu on Metal for the graphics

On macOS, the game code is compiled to native arm64 the first time you launch it, then cached. On iOS, we can't properly do that (i dont rlly want you to deal with the hassle of enabling JIT), so the game code is compiled when you build the app and baked into it

On top of that, Muguet adds a small UDP multiplayer (for other people who have the same port to play with you)

Game files

Because I care about me not getting sued, you will need your own copy as a .zip : the folder holding data/ and b/<build>/ (with game.wasm and shaders/)

It's basically the same source as the web port.

Muguet itself will then asks for that zip

Requirements

For iOS, also :

Building

macOS :

./make-app.sh

gives build/Muguet.app

iOS :

TEAM=<your team id> ./make-ios.sh game.zip --install

--ipa makes build/Muguet.ipa instead. With a free account, add FREE=1 (+ a BUNDLE_ID of your own)

Please install this app with AltStore. This probably won't work well with Sideloadly (or even SideStore, as per [this issue])(https://github.com/SideStore/SideStore/issues/1616)

The app also works with a paid developer account.

Multiplayer

One player hosts from the launcher (or runs muguet-server on any machine), the others join with that address. UDP port 47520

Limitations

Contributions are welcome !

muguet (c22dev/muguet)

Searching Database…

666 ·GitHub
Что это?Muguet — нативный Mach-O порт GTA V для iOS и macOS с добавленным мультиплеером, который запускает оригинальный WebAssembly-код игры вне браузера, используя wasmtime и wgpu поверх Metal вместо браузерного стека JS/WebGPU.
Это обёртка над браузером или настоящая нативная игра?Это настоящее нативное приложение: Muguet выбрасывает браузерный слой (JS-движок, WebGPU, Web Audio) и запускает тот же game.wasm нативно, компилируя его код в нативный arm64 (кэшируется при запуске на macOS, встраивается при сборке для iOS), с wasmtime для исполнения кода и wgpu поверх Metal для рендеринга.
Как его собрать и установить?Соберите под macOS обычным cargo build — он сразу выдаёт build/Muguet.app; для iOS добавьте флаг --ipa (плюс FREE=1 и BUNDLEID для бесплатного аккаунта разработчика), чтобы получить build/Muguet.ipa, который затем устанавливается через AltStore.
Что нужно установить перед сборкой?Mac на Apple Silicon с macOS 14 или новее, Xcode 26 или новее и тулчейн Rust; для сборок под iOS дополнительно нужны тулчейн rustup 1.98.1 с таргетом aarch64-apple-ios, xcodegen (через Homebrew) и аккаунт разработчика Apple.
Есть ли известные ограничения, к которым стоит быть готовым?Мини-карта не рендерится, сюжетные миссии доступны только в одиночной игре, на iOS нужно включить entitlement на увеличенный лимит памяти, а sideload через Sideloadly или SideStore, скорее всего, будет работать плохо, поэтому рекомендуемый способ установки — AltStore.
Работает ли он и на Mac с Intel или только на Apple Silicon?Поддерживаются только Mac на Apple Silicon с macOS 14 или новее; о поддержке Mac на Intel ничего не говорится.
Где взять файлы игры GTA V?Нужно предоставить собственный .zip с оригинальными данными игры (папку, содержащую data/ и b/, с game.wasm и shaders/) — по сути те же файлы, что использует официальный веб-порт, — и Muguet запросит этот zip при первом запуске.
Как именно работает мультиплеер?Один игрок создаёт хост из лаунчера (или запускает отдельный бинарник muguet-server на любой машине), а остальные подключаются по адресу этого хоста через UDP-порт 47520.
Нужен ли платный аккаунт разработчика Apple?Нет, работает и с бесплатным аккаунтом разработчика, если собирать с FREE=1 и своим BUNDLEID, но для переноса полученного .ipa на устройство iOS понадобится AltStore.
Сможет ли iPhone запускать это с комфортом?Нужно устройство с iOS 15 или новее, а README рекомендует около 8 ГБ оперативной памяти для плавной работы; также нужно включить entitlement на увеличенный лимит памяти.
Creator
c22dev
Size
1.2 MB
Stars
666
Age
9d
Commits · 90 Days