Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

I have a small Minecraft server (beta 1.5), and every time I log in via offline mode from a client, my name is "Player". How can I change that?

I know of a way to do it in Windows but it doesn't help.

The major problem is when others connect to my server they take "Player" as a name and it kicks me off.

The server's property is set to:

online-mode=false

I can't change this to true.

I'm running the latest version of Ubuntu, and running the client from the terminal using the following command (EDIT: running with sudo, not a good idea, i know...need to get that fixed):

sudo ./minecraft-1.5.jar

EDIT:I found the code that I was talking about but it never worked for me:

java -cp ~/.minecraft/bin/minecraft.jar:~/.minecraft/bin/lwjgl.jar:~/.minecraft/bin/lwjgl_util.jar:~/.minecraft/bin/jinput.jar: -Djava.library.path=~/.minecraft/bin/natives -Xmx1024M -Xms512M net.minecraft.client.Minecraft '"'$USER'"'

AND FOR WINDOWS:

java -Xms512m -Xmx1024m -cp "%APPDATA%\.minecraft\bin\*" -Djava.library.path="%APPDATA%\.minecraft\bin\natives" net.minecraft.client.Minecraft '"'%1'"'

Latest Update: IT WORKS! I didnt realize that the first part (starting with -cp), was the folder that I ran my game from was the wrong directory, remember that I start the game with sudo, that was the reason I failed, is hould have been:

/root/.minecraft/bin/*

Also I have to run this with 'sudo' or it wont work...the errors pile up, which as it turns out, and I didnt realize, is bacause it couldnt find any main class files, which I figured out rereading the man for 'java'

As a side win, this code now allows me to press: "Quit" button which was missing because of the way I started the game in terminal.

share|improve this question
8  
Is there a reason you're running Minecraft as root? –  user3389 Jun 14 '11 at 9:41
2  
yea, i found that my keyboard doesnt work without sudo... –  krack krackerz Jun 14 '11 at 17:54
    
i posted the code i found, windows works but linux, no...if any1 understands how the java works let me know (at least the ':' parts) –  krack krackerz Jun 14 '11 at 18:22
    
Bug solution in short: don't use tildes. –  xfs Jun 17 '11 at 13:02
add comment

5 Answers

up vote 11 down vote accepted

I don't have access to Minecraft on Linux at the moment, but that command line looks suspicious. Give this a try:

java -Xms512m -Xmx1024m -cp "$HOME/.minecraft/bin/*" -Djava.library.path="$HOME/.minecraft/bin/natives" net.minecraft.client.Minecraft "$USER"

If it still isn't working for you, knowing what does happen (error messages, lets you in but has wrong name, …) would be helpful for further troubleshooting. :-)

Edited: Work on Ubuntu 12.04 x32

*P.S.: after "$USER" you can also add "$PASSWORD" "$SERVER" *

share|improve this answer
    
pastebin.com/MVDvj1xM <-- error log –  user8949 Jun 15 '11 at 0:49
    
Not possible without modification to jars. No builtin support for command-line parameters. –  xfs Jun 15 '11 at 5:23
    
@xfs, the code above, doesnt modify jar file, instead its supposed to inject a name, original files stay the same –  krack krackerz Jun 15 '11 at 6:44
    
That asterisk (…/bin/*) is expanded by the shell; you need to quote it so java sees it correctly. –  Fred Nurk Jun 15 '11 at 8:59
1  
Java does its own expansion, according to the java manpage: "As a special convenience, a class path element containing a basename of * is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR (a java program cannot tell the difference between the two invocations)." –  Fred Nurk Jun 15 '11 at 23:36
show 8 more comments

TL;DR: Use a launcher which can modify the name. Or use some long-winded terminal command to manipulate it.

Long answer:

The offline mode in the Minecraft server does not require players to authenticate with the Minecraft account database. However, when you:

  • Directly run the minecraft.jar file
  • Use the "Play Offline" function of the original Minecraft launcher.

Your in-game name would be "Player".

The only way to change this is to:

  • Use an un-offical launcher which can change the name (eg. MinecraftSP)
  • The command line
  • Editing the source code and recompiling it

When you do any of these methods successfully, your in-game name will then be different, without requiring to authenticate with the Minecraft account database for verification. This verification is done with servers with online-mode=true, thus people who use these methods are unable to join those servers.

Please note that when you use any of these methods in conjunction with the Minecraft files (minecraft.jar and others), it is illegal if you did not buy the game.

share|improve this answer
5  
On what grounds is changing a string in the bytecode illegal? –  Kevin Reid Jun 14 '11 at 14:34
2  
what a person does with software after purchase, in terms of modding isnt illigal(if its my server), anyway this isnt an answer. Also, the way u say is illigal, is by having a .minecraft folder in ure home folder isnt an illigal jar file, the jar is always original, non modded (at least in this case). –  krack krackerz Jun 14 '11 at 18:00
1  
AN example of this low level modding is: if i were to use google chrome to edit a string on this page, its only limited to me, upon refresh it would disappear, as i only changed a string on how i see it, no laws broken, only what i see it different, like the server which is mine –  krack krackerz Jun 14 '11 at 18:07
2  
@bckbck: there is no illigal launchers, you run minecraft in linux with a script, aka launcher", the way i wanna start minecraft is my business, it canot be illigal, ie: inside my bash script: sleep 5s; echo "this is my launcher"; sudo ./minecraft.jar; exit 0; –  krack krackerz Jun 15 '11 at 6:48
2  
@krack I have updated my answer –  user8949 Jun 15 '11 at 12:41
show 12 more comments

Although the title only mentions linux, the OP mentions Windows, and searching brought me here.

I thought I might share my Windows offline name changing solution which I use for testing my plugins when I need multiple clients connected all under different names, naturally.

@SET /P IGN=IGN=
@java -Xms512m -Xmx512m -cp "%APPDATA%/.minecraft/bin/*" -Djava.library.path="%APPDATA%/.minecraft/bin/natives" net.minecraft.client.Minecraft %IGN%

I put the above into a file named Offline.bat When I double click that file, it will open a command window and prompt you to enter the In-Game Name (IGN) you wish to use. Simply enter the name you want to use in and press enter to launch Minecraft in offline mode with that name.

share|improve this answer
add comment

I was googling offline mode minecraft mac, this was the first site on the list. Thanks to the Unix code I was able make an easy workaround the the info here. I wrote a simple and ugly AppleScript for mac/osx to accomplish the same if you have it installed in the default path. I'm working off of OS X 10.6.8, so I'm unsure if it will work with other versions.

Copy + Paste to new applescript, compile, save as application, launch.

property user_name : "Player"
display dialog "Enter A User Name" default answer "" buttons {"Cancel", "Continue"} default button 2
set the user_name to text returned of the result

set UsrApp to (path to current user folder)
set UsrApp_unx to POSIX path of UsrApp

set MineScript to "java -cp " & UsrApp_unx & "Library/Application\\ Support/minecraft/bin/minecraft.jar:" & UsrApp_unx & "Library/Application\\ Support/minecraft/bin/lwjgl.jar:" & UsrApp_unx & "Library/Application\\ Support/minecraft/bin/lwjgl_util.jar:" & UsrApp_unx & "Library/Application\\ Support/minecraft/bin/jinput.jar: -Djava.library.path=" & UsrApp_unx & "Library/Application\\ Support/minecraft/bin/natives -Xmx1024M -Xms512M net.minecraft.client.Minecraft '" & user_name & "'"

do shell script MineScript

Edit: Also works in Lion

share|improve this answer
    
The code posted above is not the correct syntax for Mac OSX 10.6.8 with Java 1.6.0.29. I am working on the correct syntax but I don't know AppleScript. Can you post a corrected (working) version of the code if you get a chance? Thanks –  kpuffs Jan 11 '12 at 18:49
add comment

For Linux, if you use sudo, the ~ will be the root home folder, so it needs to be:

sudo java -cp /home/"username"/.minecraft/bin/minecraft.jar:/home/"username"/.minecraft/bin/lwjgl.jar:/home/"username"/.minecraft/bin/lwjgl_util.jar:~/.minecraft/bin/jinput.jar: -Djava.library.path=/home/"username"/.minecraft/bin/natives -Xmx1024M -Xms512M net.minecraft.client.Minecraft '"'$USER'"'

Where it says "username", substitute your user name without the quotes.

It worked for me on Ubuntu 11.04.

share|improve this answer
1  
You should not need to use sudo to play minecraft. In fact, I'd recommend AGAINST it. –  Broam Feb 3 '12 at 13:53
add comment

protected by Community Jan 12 '12 at 4:25

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.