unmojang / FjordLauncher

Prism Launcher fork with support for alternative auth servers
GNU General Public License v3.0
78 stars 14 forks source link

Possibility of adding back offline accounts #9

Closed kiakong closed 3 days ago

kiakong commented 4 months ago

Role

Playing MC

Suggestion

Make adding MS account optional

Benefit

Anyone can use the launcher to play MC

This suggestion is unique

You may use the editor below to elaborate further.

I can't even make an excuse for this, i just want to play MC. I can't buy MC in my country so we mostly use launchers that can run offline accounts. PollyMC was a good/safe alternative for any sketchy launcher (TLauncher, etc.) Can you please revert the change for needing a MS account?

Darthagnon commented 4 months ago

The following commits add DRM to FjordLauncher:

I'm wondering if this was done preemptively to avoid a DMCA takedown. That said, none of the other launchers without DRM have been taken down.

In my opinion, this change also disqualifies FjordLauncher as a successor to PollyMC and HMCL/Hello Minecraft. At this point, why even bother with Authlib Injector? Might as well just be another fork of MultiMC5 or PolyMC/Prism Launcher

TechnoSparks commented 3 months ago

I think it is a matter of principle. From what I could understand, the whole "unmojang" organisation goal is to remove Mojang in the equation when playing Minecraft, primarily API and auth (look at drasl), but that doesn't mean the launcher needs to be DRM-free. For a boiled-down simple analogy, it's like using open source software on an operating system one has paid for (Windows).

It's a free software after all, if someone really want they could make personal patches like what UltimMC/PolyMC did, or analyse the behaviour of the software for possible workarounds (I found DRM could be bypassed easily without the need for patching or customised build for MultiMC, Prism and Fjord)

catfromplan9 commented 3 months ago

(I found DRM could be bypassed easily without the need for patching or customised build for MultiMC, Prism and Fjord)

How?

Make an accounts.json file in the launcher's data directory with the following content

{
    "accounts": [
        {
            "active": true,
            "profile": {
                "capes": [
                ],
                "id": "0",
                "name": "Steve",
                "skin": {
                    "id": "",
                    "url": "",
                    "variant": ""
                }
            },
            "type": "Offline",
            "ygg": {
                "extra": {
                    "clientToken": "0",
                    "userName": "Steve"
                },
                "iat": 0,
                "token": "offline"
            }
        }
    ],
    "formatVersion": 3
}

Open Fjord Launcher, add your account, and now you can remove "Steve"

omnigenous commented 2 months ago

@catfromplan9 not sure if it related, but it crashes for me with following errors:

java.lang.IllegalStateException: Rendersystem called from wrong thread
java.lang.IllegalArgumentException: Invalid UUID string: <PROFILE ID>
catfromplan9 commented 2 months ago

@catfromplan9 not sure if it related, but it crashes for me with following errors:

java.lang.IllegalStateException: Rendersystem called from wrong thread
java.lang.IllegalArgumentException: Invalid UUID string: <PROFILE ID>

Seems unrelated. Don't launch the Steve account though, as I said. Add a new offline account, then remove Steve

omnigenous commented 2 months ago

@catfromplan9 I can't read... Deleted "Steve" account and added new offline account. Now it's works and errors are gone too, so it was related. Thank you!

FN-FAL113 commented 3 weeks ago

(I found DRM could be bypassed easily without the need for patching or customised build for MultiMC, Prism and Fjord)

How?

Make an accounts.json file in the launcher's data directory with the following content

{
    "accounts": [
        {
            "active": true,
            "profile": {
                "capes": [
                ],
                "id": "0",
                "name": "Steve",
                "skin": {
                    "id": "",
                    "url": "",
                    "variant": ""
                }
            },
            "type": "Offline",
            "ygg": {
                "extra": {
                    "clientToken": "0",
                    "userName": "Steve"
                },
                "iat": 0,
                "token": "offline"
            }
        }
    ],
    "formatVersion": 3
}

Open Fjord Launcher, add your account, and now you can remove "Steve"

created a data folder beside the launcher executable, seems to be not working.

hero-persson commented 3 weeks ago

Hello, I am maintaining a DRM-free version called Fjord Launcher Unlocked: https://github.com/hero-persson/FjordLauncherUnlocked. I haven't made Arch and Gentoo packages yet. But I might. Please check it out (:

omnigenous commented 3 weeks ago

@hero-persson would love to see aur package!

hero-persson commented 1 week ago

@hero-persson would love to see aur package!

I made https://aur.archlinux.org/packages/fjordlauncherunlocked and https://aur.archlinux.org/packages/fjordlauncherunlocked-git. No bin package since it's broken on Prism and Fjord. But maybe Fjord Launcher Unlocked can go in Chaotic AUR too.

catfromplan9 commented 1 week ago

Hello, I am maintaining a DRM-free version called Fjord Launcher Unlocked: https://github.com/hero-persson/FjordLauncherUnlocked. I haven't made Arch and Gentoo packages yet. But I might. Please check it out (:

A gentoo package for this would be pointless. You can simply apply a patch file to fjord by placing it in /etc/portage/patches/games-action/fjordlauncher, and I have already done so

catfromplan9 commented 1 week ago

(I found DRM could be bypassed easily without the need for patching or customised build for MultiMC, Prism and Fjord)

How?

Make an accounts.json file in the launcher's data directory with the following content

{
    "accounts": [
        {
            "active": true,
            "profile": {
                "capes": [
                ],
                "id": "0",
                "name": "Steve",
                "skin": {
                    "id": "",
                    "url": "",
                    "variant": ""
                }
            },
            "type": "Offline",
            "ygg": {
                "extra": {
                    "clientToken": "0",
                    "userName": "Steve"
                },
                "iat": 0,
                "token": "offline"
            }
        }
    ],
    "formatVersion": 3
}

Open Fjord Launcher, add your account, and now you can remove "Steve"

created a data folder beside the launcher executable, seems to be not working.

That is not where it will be located. The directory I am referring to is the directory where the "instances" folder and such are stored, not a directory actually called "data"

evan-goode commented 3 days ago

Sorry, I will not remove the DRM check from Fjord Launcher. Regardless of my personal ethical beliefs on the matter, I am developing this software under my own name, as a signatory of the Minecraft EULA, and I don't want to risk a DMCA takedown or worse.

I'm wondering if this was done preemptively to avoid a DMCA takedown. That said, none of the other launchers without DRM have been taken down.

Legacy Launcher was taken down by a DMCA request (according to them).

In my opinion, this change also disqualifies FjordLauncher as a successor to PollyMC and HMCL/Hello Minecraft.

Correct. It should not be treated as such.

At this point, why even bother with Authlib Injector? Might as well just be another fork of MultiMC5 or PolyMC/Prism Launcher

There are many reasons why you might want to use third-party accounts. Not owning a Minecraft license is just one of them. But whether you own the game or not, having Fjord be a "legitimate", EULA-respecting launcher is good because it legitimizes other projects in the custom auth space, such as Drasl. Developing a system to self-host your own authentication servers is a substantial effort, and it's easier to attract developers and sustain these projects long-term if they are legal and in line with Mojang's rules.

I think it is a matter of principle. From what I could understand, the whole "unmojang" organisation goal is to remove Mojang in the equation when playing Minecraft, primarily API and auth (look at drasl), but that doesn't mean the launcher needs to be DRM-free.

Yes, generally my goal is to make it easier to play Minecraft with only the bare minimum of proprietary components (i.e. the Minecraft client and the Minecraft server), and for everything else to be libre. But it may be illegal to distribute a launcher that doesn't include this "DRM check" that relies on Microsoft's servers, so we just have to do our best within the lines of the law.

It seems there are already several projects downstream of Fjord Launcher which remove this DRM check. I cannot endorse using any of these, and please refrain from discussing them here.