Jump to content
  • 0

[Request] Convert the old Player UID's to Steam ID


BetterDeadThanZed

Question

According to the latest Arma 2 beta changelog the player UID is being changed to the Steam ID. This means that all players playing any of the Dayz mods will lose everything on their character as well as their humanity and stats when their favorite server changes to this newest version.

 

I'd like to know if there's an automated way that we'll be able to convert their old player UID to their new Steam ID once they've logged on for the first time. There's a manual way they need to provide their old player UID and their Steam ID and as we all know, the player base likes to play, not read forum posts and emails asking them to provide information.

 

This is the SQL query I was given to manually copy over a character:

UPDATE `Character_DATA` SET `PlayerUID`='NEW_STEAM_ID_HERE' WHERE `PlayerUID`='OLD_PLAYERUID_HERE';
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

that query looks legit.  I asked a similar question and was told that the steamids were being converted to the playeruid automatically...

 

If this isn't the case what happens to the command "getPlayerUID" does this break? or just return the steamid?

Link to comment
Share on other sites

  • 0

 

According to the latest Arma 2 beta changelog the player UID is being changed to the Steam ID. This means that all players playing any of the Dayz mods will lose everything on their character as well as their humanity and stats when their favorite server changes to this newest version.

 

I'd like to know if there's an automated way that we'll be able to convert their old player UID to their new Steam ID once they've logged on for the first time. There's a manual way they need to provide their old player UID and their Steam ID and as we all know, the player base likes to play, not read forum posts and emails asking them to provide information.

 

This is the SQL query I was given to manually copy over a character:

UPDATE `Character_DATA` SET `PlayerUID`='NEW_STEAM_ID_HERE' WHERE `PlayerUID`='OLD_PLAYERUID_HERE';

Could just have it stored into the sql db as well and just have it pulled from there.

Just make a new column with steamID

Sounds like PlayerUID might be changed to SteamID or it would just be tied with steamID.

Link to comment
Share on other sites

  • 0

that query looks legit.  I asked a similar question and was told that the steamids were being converted to the playeruid automatically...

 

If this isn't the case what happens to the command "getPlayerUID" does this break? or just return the steamid?

 

I imagine that by replacing the UID with the Steam ID, the server will see the player as an entirely new player unless something else has been developed that will convert their ID, which would be nice. I guess we'll see. I need to do some testing.

Link to comment
Share on other sites

  • 0

This SQL change the old id with the new id and the new id with the old id, so you have your old character back.

set @oldID = '82888333';
set @newID = '76561197993172434';

update character_data set PlayerUID = concat(@oldID,'_CHANGE') where PlayerUID = @oldID and Alive = 1;
update character_data set PlayerUID = @oldID where PlayerUID = @newID and Alive = 1;
update character_data set PlayerUID = @newID where PlayerUID = concat(@oldID,'_CHANGE') and Alive = 1;
76561197993172434 is the new id

82888333 is the old id

Note the 'Alive=1' condition. If the player was in dead state before the version change, there is nothing to do.

If you want to do it in only one server instance, you need to add the Instance=11 (11, or wathever instance you want to change) condition on the 3 update lines.

To find old id and new id you can use this SQL:

select * from player_data where PlayerName like '%Jones%';
Where Jones is the hint for the nick.

To avoid character steal, you can ask for key itens that was on the old character. To see the itens on the old character, you can use this SQL:

set @oldID = '82888333';
select Inventory, Backpack from character_data where PlayerUID = @oldID and Alive = 1;
82888333 is the old id.
Link to comment
Share on other sites

  • 0

You can try that for a simplier version.

 

set @oldID = '82888333';
set @newID = '76561197993172434';

update character_data set PlayerUID = concat(@oldID,'_CHANGE') where PlayerUID = @oldID and Alive = 1;
update character_data set PlayerUID = @oldID where PlayerUID = @newID and Alive = 1;
update character_data set PlayerUID = @newID where PlayerUID = concat(@oldID,'_CHANGE') and Alive = 1;
This SQL was updated on the other post!
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...