The issue is that Minecraft contacts their servers when you start up, and overwrites the displayName
with whatever is linked to the actual account on their servers. Then, when you connect to the LAN game, it complains that a user with that name already exists.
I found that the solution is to somehow stop Minecraft from accessing the internet. Do the displayName
trick, game on.
The crude version of this is to just disconnect your house's internet cable from the modem/router. Keep the wifi/lan router on, just don't connect it to the internet.
A less crude version is to just block access to the Minecraft servers. For me (Windows 10), these were the steps:
- The "original" displayName trick: open
C:\Users\<username>\AppData\Roaming\.minecraft\launcher_profiles.json
in a text editor, search for "displayName" and replace the value next to it by someting else (eg "Dad").
- Open Notepad with administrator rights
- From within Notepad, browse to
C:\Windows\System32\drivers\etc\
, set the file filter to "All files", and open the file called hosts
(it has no file extension)
Add a line with the following text:
0.0.0.0 minecraft.net
Launch Minecraft, connect to your son's LAN game as usual
The steps are very similar on Mac and Linux.
Step 1 is described in more detail here: Is it still possible to set your username in offline mode in Minecraft 1.6 and later?
Steps 2-4 are described in more detail here: https://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/
This way, you don't need to kick the rest of the family off Netflix :-)
There's still a downside: minecraft.net will be blocked for all your applications. You won't be able to download minecraft updates or even visit the site. Acceptable to me, although I still think Minecraft should have some sort of "father and son" mode - IMO it's ridiculous that I need to pay for two licenses just to be able to help a six year old build a roof every two months. That can't have been the idea behind Minecraft's licensing setup.
launcher_accounts.json
).ps -e | grep java
, and it'll show the command used to launch Minecraft. There's a --username arg. Changing that, then closing Minecraft and using the modified invocation worked for me. I'd add this as an answer, but I don't have the reputation to answer this "highly active" question. If somebody could make an answer out of this, I wouldn't mind.