TapiocaFox/Daijishou

Moonlight/Sunshine status

glottisfaun0000 opened this issue · 9 comments

Instructions on the wiki are really unclear to me for setting up Moonlight apps in Daijishou. For example, it says to replace PCNAMEHERE with my PC name but PCNAMEHERE doesn't exist anywhere in the JSON or at Settings > Library > Inspect Players > moonlight after importing.

And then how would I add games since there's no local path? Is that what the Creating moonlight files section is describing, in which case it doesn't say where to put the .moonlight files. Is this feature unsupported?

You place the .moonlight files anywhere like any other rom. Example:

roms/moonlight/*.moonlight

Then add the path as you normally would

You place the .moonlight files anywhere like any other rom. Example:

roms/moonlight/*.moonlight

Then add the path as you normally would

gotcha, so having done this I get errors and fail to launch

here's my command with UUID added:

-n com.limelight/com.limelight.ShortcutTrampoline
 --es UUID 111111-1111-1111-1111111
 --es AppId {tags.moonlight_id}

don't see anywhere to put my host name.

and example ELDEN RING.moonlight:

# Daijishou Player Template
[moonlight_id] 1449154747
...

error i get (only the first n number of lines cause it flashes for just a second, going off screenshots:

Player error:
java.lang.NullPointerException
at com.magneticchen.daijishou.view_models.DaijishouLi
braryModel.play$playPlayableltemSlambda$13Slambd
a$12$playltWithRules(DaijishouLibraryModel.kt:656)
at com.magneticchen.daijishou.view_models.DaijishouLi
braryModel.play$playPlayableltem(DaijishouLibraryMo
del.kt:746)
at com.magneticchen.daijishou.view_models.DaijishouLi
braryModel.play(DaijishouLibraryModel.kt:762)
INLIGI
at com.magneticchen.daijishou.view_models.DaijishouLi
braryModel.play$default(DaijishouLibraryModel.kt:539)
at com.magneticchen.daijishou.nav_fragments.PlatformL
ibraryListViewNavFragment$onCreateView$18.invoke(yed O times.
PlatformLibraryListViewNavFragment.kt:810)

Everything looks correct. If you happen to use the script others had issues with it. Try manually creating the files

Create txt file > Input info > rename file extension to .moonlight

Also I need to update the wiki as a few things aren't needed

I also updated your comment to remove some info (just in case)

Try this python script I created: MoonlightFileGenerator.py

It has two buttons: Create Daijishou Moonlight files and Create ES-DE Moonlight files

Select Create Daijishou Moonlight files > Locate your Moonlight.ini from your Moonlight install > It will generate .moonlight files and Moonlight.json with your uuid already added.

If you use ES-DE button it will create .moonlight files and Moonlight.uuid file.

You'll need this added to your es_find_rules.xml file:

<ruleList>
    <emulator name="Moonlight">
        <rule type="androidpackage">
            <entry>com.limelight/com.limelight.ShortcutTrampoline</entry>
        </rule>
    </emulator>
</ruleList>

es_system.xml

<systemList>
    <system>
        <name>moonlight</name>
        <fullname>Moonlight Game Streaming</fullname>
        <path>%ROMPATH%/moonlight</path>
        <extension>.moonlight</extension>
        <command label="Moonlight">%EMULATOR_Moonlight% %EXTRA_UUID%=%INJECT%=Moonlight.uuid %EXTRA_AppId%=%INJECT%=%BASENAME%.moonlight</command>
        <platform>moonlight</platform>
        <theme>moonlight</theme>
    </system>
</systemList>

Hopefully this helps

Thanks for looking into this. Small thing, the script writes 0kb and splits the text for a game with : in the title (e.g. Shin Megami Tensei V: Vengeance is created as a 0kb file called Shin Megami Tensei V without .moonlight). Also how/where do I edit the es_ xml files? Is that in settings or at Android system level? New to this platform.

I'll update the script when I have time so it sanitizes illegal characters. Thanks for the heads up.

As for the es_ xml files that's for different frontend (ES-DE) separate from Daijishou. Completely unneeded unless you use ES-DE. I made a mentioned to it for since I linked someone to this issue and didn't want to write it down. If you do use ES-DE you'll need to follow their custom system documentation

Cool, totally works. Thanks. Do you know if there's a way to initiate a full exit in Moonlight rather than suspend so Sunshine closes the running app?

I updated the script. Now it sanitizes the names so it will properly create files. Also I'm not sure on your last question. That question would be for Moonlight or Sunshine devs.

Closing this as completed