PDA

View Full Version : The mechanics of logging in....



Fluffel
05-08-2010, 09:26 PM
Yeah, this may be the wrong board, I actually don't see the right one....

I am trying to make gemstone work with an android based phone, and a mud client, except I can not find a way to download the login file from the website, can anyone help?

Thank you, and I am sorry if there is a better place to post this.

Sam
05-08-2010, 09:44 PM
Look at this.. That's how you log in.
http://www.krakiipedia.org/wiki/SGE_protocol

You just connect with a regular telnet session and pass the key followed with something like /FE:WIZARD /VERSION:1.0.1.22 /P:WIN_XP /XML

also look here http://www.warlock.cc/Wikka/wikka.php?wakka=StormFrontProtocol&show_comments=1

Here's some ruby shit i wrote a while back to get the game key for your account.. I think it works..


#!/usr/bin/ruby

require "socket"


def hash_passwd( pw, myhash )
resAry=[]
pwAry=[]
hashAry=[]

pw.each_byte { |x|
pwAry.push x
}

myhash.each_byte { |x|
hashAry.push x
}

for i in 0..pw.length - 1 do
temp = (hashAry[i] ^ (pwAry[i] - 32)) + 32
resAry[i]=temp.chr
end

result=resAry.join
return result
end

if ARGV.length != 3
puts "usage: ./sge.rb account passwd charname"
exit
end

accesshost="eaccess.play.net"
accessport="7900"
gamehost="storm.gs4.game.play.net"
gameport="10024"
$gameKey=""

sock = TCPSocket.open(accesshost, accessport)
acctName=ARGV[0]
acctPass=ARGV[1]
charName=ARGV[2].downcase.capitalize

linenumber = 1
sock.puts "K"
while line = sock.gets

case linenumber

when 1
hashkey=line
hashedpw=hash_passwd(acctPass, hashkey)
sock.puts "A\t#{acctName}\t#{hashedpw}\0"
when 2
sock.puts "M"
when 3
sock.puts "F\tGS3"
when 4
sock.puts "G\tGS3"
when 5
sock.puts "P\tGS3"
when 6
sock.puts "C"
when 7
charid=line.split[line.split.index(charName) - 1 ]
sock.puts "L\t#{charid}\tSTORM"
when 8
$gameKey=line.split[9].split("=")[1]
puts $gameKey
sock.close
break
end

linenumber = linenumber + 1
end





exit