[How-To - Server Owners] Get SteamID 64 from HEX Steam ID


#1

Well, this is a guide which might be completely useless for some but as you know people here get their steam IDs stored in a way that they can’t be found since no other website uses HEX to find steam IDs.

Well, let’s put up a scenario:

You know a player is attacking your server, you block him on your server but you’d want to see who he is on steam, simply get his HEX steam id from your database, we’ll use mine for example: steam:110000103d27e1d

Well, now that we have that we separate it by removing the steam: part and we are left with the hexadecimal part now: 110000103d27e1d

Now we go to https://www.rapidtables.com/convert/number/hex-to-decimal.html and we enter there the hexadecimal input, then click on convert and you’ll get the decimal steam ID for the user which can be used on google to find the user or simply get directly to his steam profile by adding the decimal part after https://steamcommunity.com/profiles/

As always, we’ll use my steam for the example, this one would result in:

To get the Steam HEX ID from a Steam ID 64 you can simply use: http://vacbanned.com/engine/check

Good luck.


#2

You could even just set the default calculator program to “programmer” and it will allow you to see the hex value :wink:


#3

Yeah but that’s supposing everyone here uses Windows :stuck_out_tongue:


#4

what else are you using to play FiveM, then?


#5

I play on a potato /s.

On a serious note, I don’t really play but mostly build stuff and expect it to work.


#6

Pretty sure you cant use FiveM on anything but Windows


#7

But you can run FiveM servers on other OS that are not Windows


#8

Or go to binaryhexconverter.com/decimal-to-hex-converter


#9

Or use this example in your lua server side:

function GetSteamId64FromHex(hex_id)
	local len = string.len(hex_id)
	local dec = 0
	for i=1,len do
		local val = string.sub(hex_id, i, i)
		if val == "a" or val == "A" then val = 10*16^tonumber(len-i)
		elseif val == "b" or val == "B" then val = 11*16^tonumber(len-i)
		elseif val == "c" or val == "C" then val = 12*16^tonumber(len-i)
		elseif val == "d" or val == "D" then val = 13*16^tonumber(len-i)
		elseif val == "e" or val == "E" then val = 14*16^tonumber(len-i)
		elseif val == "f" or val == "F" then val = 15*16^tonumber(len-i)
		else val = tonumber(val)*16^tonumber(len-i)
		end
		dec = dec+math.ceil(val)
	end
	return dec
end

Never thought i will bump into hexadecimal values, but i made it.
It was hard to understand (for my dump head), but i just followed the instructions to convert hexadecimal values to decimal (with offsets to FiveM server lua version). It is simple (value*16^len-1). And it works on server side!


#10

alternately:

tonumber('110000112345678', 16)

:stuck_out_tongue:

by the way, welcome back @MarkViolla!