Page 1 of 2

Mudlet 2.0 supports Simutronics Games!

Posted: Thu Jun 16, 2011 9:50 pm
by JerleMinara
This only works on Mudlet 2.0 git/final. It will not work in rc versions as of 6/16/11

1) Download the package from http://dl.dropbox.com/u/30076842/Simutronics.mpackage
2) Create a new profile and point it at eaccess.play.net port 7900
3) Install package into that profile.
4) Go to Scripts, Simutronics, "Login Variables" and adjust simu_Password, simu_AccountName, simu_CharacterName and simu_GameName
5) Reconnect!

Simu is ok with using mudlet as long as you abide by the TOS (not botting, etc)

Edit: Atm I've only been able to test DR but once you discover the game codes it should be easy to use for GS4 or MO (does anyone even play MO?)

Future Features:
  • GUI Driven Char selection
  • GSL support, built in handling for various DR things
  • Mapper script
Changelog:
v1.0:
  • Initial Release
  • Support for DragonRealms and presumably GS4
v1.01:
  • Automatically capitalizes accountname. Thanks Vadi
Have fun!

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Wed Aug 08, 2012 12:50 am
by Sam111
The dropbox page gives an error. Is there another link or a new link for the Simutronics package? Thank you!

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Wed May 01, 2013 4:34 pm
by kevutian
Just had a reply back from one of the tech guys at play.net.

Here's what the deal is:

These are always tricky because of the authentication system. When you go to login from our website, the system sends down a <name>.sal launch file, the contents look like this:
UPPORT=5535
GAME=STORM
GAMECODE=DR
FULLGAMENAME=StormFront
GAMEFILE=STORMFRONT.EXE
GAMEHOST=storm.dr.game.play.net
GAMEPORT=11024
KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

What all of that means is:
UPPORT=5535 The authentication server and port
GAME=STORM The front end system, there are two options, STORM and WIZ depending on which instruction set you're getting. The simple version, WIZ or the more in depth version STORM with xml support
GAMECODE=DR The game, there are 12 player options here depending on the game and game instance, and even more for GMs
FULLGAMENAME=StormFront The full name for the front end
GAMEFILE=STORMFRONT.EXE The executable that will run
GAMEHOST=storm.dr.game.play.net More server instructions, if you were using the Wizard it's prime.dr.game.play.net, and this changes from game to game and instance to instance. Platinum is different from prime, Gemstone is different from DragonRealms, etc.
GAMEPORT=11024 The port the game is running on, this also changes depending on the instruction set (DR for the Wizard runs on port 4901 for example)
KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx The key assigned by the login server to get the character into the game. These are time sensitive, so the same key probably won't work for the same character even later the same day.

All of that gets assigned by the login server (which is separate from the authentication server) running on port 7900.

There are a ton of reasons why it would hang up and fail, but mostly it's because what we do isn't like other MUDs. Not taking any of those things into account can mean you get halfway there, but not all of it. My best recommendation for getting through it isn't us, yes, they're our games, but this isn't something we normally deal with, but checking in with a couple of the other third party client builders, the folks who make Lich (mostly for GemStone), Genie (mostly for DragonRealms) or the guys who made Warlock (mostly for DragonRealms, but Linux native). They'll have been through a lot of what you're looking at, and done it from the side of trying to get their systems running. Warlock might be your best bet since they don't sell theirs.

Every front end is different, and knowing what might need to be tweaked is more than I can answer because of those differences.

Mike Niemeyer
TechHelp

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Thu May 09, 2013 3:27 pm
by Ginga Giri Giri
JerleMinara wrote:Simu is ok with using mudlet as long as you abide by the TOS (not botting, etc)
Image

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Thu May 09, 2013 7:14 pm
by Heiko
From what I remember it's pretty simple:
1. connect to login server
2. parse game server data and login key you get from the login server
3. use the function connectToServer(url, port) to connect to the game

The whole thing can be fully scripted and automated.

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Sat May 11, 2013 4:18 pm
by hogarius
I play Simutronics' Modus Operandi. I created two profiles, one for the login server (eaccess.play.net:7900), and one for the game server (mo.simutronics.net:4902). I run a script in the login server profile to create the key needed to play the game, and copy that key into the Windows clipboard. I then connect to the game server in the other profile, paste the clipboard contents into the clipboard and send the key to the game server.

Unfortunately, the game server does not accept the key that I paste in, and disconnects me.

The weird part is, if I create the key in Mudlet, connect to the game server with MUSHclient, paste the key in and send it...IT WORKS . (Creating the key in MUSHclient and sending the key in MUSHclient works also. Creating the key in MUSHclient and sending it in Mudlet does not work . )

It looks like Mudlet is sending additional data to the game server when it connects. I've tried disabling GMCP, GA, compression, MXP, etc., in the preferences, and also tried adding the patch that is supposed to disable GMCP, with no success.

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Sat May 11, 2013 4:26 pm
by kevutian
Possible. Can run Wireshark and inspect the packets to find out what's being sent easily enough.

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Sun May 12, 2013 6:00 pm
by Heiko
1. You don't need 2 seperate profiles, you can use a single profile to the login server, parse the relevant data and redirect the connection to the game server (see above).

2. Define the callback function onConnect() and use it to send the login data to the game server before any telnet negotiations etc. have been performed. Mudlet calls this function directly when a network socket connection has been established before any telnet or other protocol actions.

3. Use the low level function sendSocket(data) to send raw data instead of send().

example:

function onConnect()
sendSocket(myloginkey)
end

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Mon May 13, 2013 3:32 am
by hogarius
This is what I was looking for. Thank you, Heiko.

Re: Mudlet 2.0 supports Simutronics Games!

Posted: Sun May 26, 2013 9:36 pm
by Jinresh
Can someone provide a package that will help me log into Gemstone using Mudlet? The link previously posted in this thread is not active.

I am not super savvy with mudlet. I tried fumbling my way around the whole sysTelnetEvent and addSupportedTelnetOption() and I'll be honest I couldn't get anything working. I'm still trying to figure out how to just SEE what the server is sending in the background before I can even start figuring out how to use it.

So if anyone has a package to just get me in the game, and hopefully a package for generally parsing the GSL protocol to get me started I would really appreciate it! Or worst case scenario if anyone is willing to walk me through the very basics I would take that as well.

I use Mudlet for my IRE muds so I would like to use it for the Simutronics muds and have it as my all in one client!