ID:261978
 
Look at this(only part of it):

            if(connected.len)
usr << "<b>Connected:</b>"
for(var/mob/M in connected)
usr << "[M.name] \..."
if(M.key != M.name) usr << "(Key: [M.key] and IP is [M.client.address]) \..."


When I click who, it doesnt show the IP, it says 'IP is' and then its blank. What's wrong here?

Non-PC
The host's "address" variable is always null, meaning you're testing locally, and it won't work locally.
What I do is assign the IP myself if its null, which should only happen if it comes across the host of the game.
mob
verb
Who()
for(var/mob/M in world)
if(M.client)
var/IP = M.client.address
if(!IP) IP = world.address
src << "[M.name] ([M.key]) {[IP]}"