EDIT: here it is
--serverside!
function process()
local players=getElementsByType("player")
for _,v in pairs(players) do
processPlayer(v)
end
end
function processPlayer(p)
local Player=source or p
local nick=getPlayerName(Player)
local colorcode=nick:match("^#%x%x%x%x%x%x")
if colorcode then
local red,blue,green=getColorFromString(colorcode)
setPlayerNametagColor(Player,red,blue,green)
end
setPlayerName(Player,nick:gsub("#%x%x%x%x%x%x",""))
end
addEventHandler("onResouceStart",getResourceRootElement(),process)
addEventHandler("onPlayerJoin",getRootElement(),processPlayer)
addEventHandler("onPlayerChangeNick",getRootElement(),processPlayer)