#!/usr/bin/env python LISTEN_HOST='' LISTEN_PORT=1337 import SocketServer import BaseHTTPServer import SimpleHTTPServer import SimpleXMLRPCServer import socket, os, sys, time class SecondLifeLogin(object): def __init__(self): self.log = sys.stdout def login_to_simulator(self, struct): print >>self.log, struct return dict( session_id='67971fe1-19fa-4fc0-9f09-dc27686e08e9', start_location='last', last_name=struct['last'], first_name=struct['first'], home="{'region_handle':[r255232, r256512], 'position':[r33.6, r33.71, r43.13], 'look_at':[r34.6, r33.71, r43.13]}", region_x=260096, region_y=257024, agent_access='M', message='Welcome to Second Life Emulator', login='true', circuit_code=3711122, look_at='[r0.99967899999999998428,r-0.025334599999999998787,r0]', agent_id='99cc2607-76da-4fc4-a226-7198a8357f4d', seconds_since_epoch=int(time.time()), sim_ip='127.0.0.1', sim_port='4242') def createSecondLifeLogin(HandlerClass=SimpleXMLRPCServer.SimpleXMLRPCRequestHandler, ServerClass=SimpleXMLRPCServer.SimpleXMLRPCServer): server_address = (LISTEN_HOST, LISTEN_PORT) # (address, port) server = ServerClass(server_address, HandlerClass) server.register_instance(SecondLifeLogin()) sa = server.socket.getsockname() print 'Running SeLEmu LoginServer on port %i' % sa[1] server.serve_forever() if __name__=='__main__': createSecondLifeLogin()