EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=593)
-   -   0.5.7 Minilogin, and LS release (https://www.eqemulator.org/forums/showthread.php?t=15866)

smogo 09-14-2004 02:05 PM

0.5.7 Minilogin, and LS release
 
Lot'sa people talking about LS and the stuff ... i've been working on a LS / minilogin for a while, so here it is. Many thanks to those who helped, both with information, sidework, and testing.


In the package you get source for both minilogin and regular login. Both should work on any network. Regular login would not work on Windows machines, as far as i tried.

It's designed for 0.5.7dr6 version. It could work with earlier versions too, though i did not test them. It requires some code changes to go with 0.5.8. Maybe i'll work on this, maybe not. So atm if you want so, start digging the code and just do it yourself.

In the package is a README file. You will read it, as it will avoid you 90% of troubles you could get in. The remaining 10% ... you're sol.

This is alpha developer release. No support

get it here

Have fun ;)

govtcheeze 09-14-2004 02:10 PM

smogo, you complete me

/em races off to try this

daeken_bb 09-14-2004 02:10 PM

Very cool :)

Question, is the client-login protocol the same as the 5.8 clients?

smogo 09-14-2004 02:20 PM

Forgot to add (and did not include in the zip)
Regular version requires database with the followin tables :
Code:

-- MySQL dump 9.08
--
-- Host: localhost    Database: login
---------------------------------------------------------
-- Server version      4.0.15a

--
-- Table structure for table 'lslogin'
--

CREATE TABLE lslogin (
  id int(11) NOT NULL default '0',
  login varchar(30) default NULL,
  passwd varchar(30) default NULL,
  status tinyint(4) default '0'
) TYPE=MyISAM;

--
-- Table structure for table 'lsservers'
--

CREATE TABLE lsservers (
  socket tinyblob NOT NULL,
  category tinyint(4) NOT NULL default '0',
  alive datetime NOT NULL default '0000-00-00 00:00:00',
  handle varchar(100) NOT NULL default '',
  status int(11) NOT NULL default '0',
  zones int(11) NOT NULL default '0',
  clients int(11) NOT NULL default '0',
  url varchar(201) NOT NULL default '',
  name varchar(250) NOT NULL default '',
  version varchar(100) NOT NULL default '',
  protocol varchar(100) NOT NULL default '',
  type int(11) NOT NULL default '0',
  account varchar(100) default '',
  passwd varchar(15) default ''
) TYPE=MyISAM;

i strongly reocmmend you experiment with minilogin first, though ;)

Melwin 09-14-2004 11:38 PM

Quote:

Originally Posted by daeken_bb
Very cool :)

Question, is the client-login protocol the same as the 5.8 clients?

No.

Cisyouc 09-14-2004 11:48 PM

Im not able to run ls.pl. Every time I install a new module it says it requires I get a new one it needs.

Elkay 09-16-2004 12:49 PM

Hey,

I am trying to use minilogin and I am getting the following error when I click login from the login screen:

-------------------------------

-->incoming
Client 192.168.1.1:1079 sent 14 bytes, message type : 0x01 retry count : 0x00
00 01 00 00 00 02 00 29 48 23 00 00 02 00
new client, sending reply to 192.168.1.1:1079
key is : 192.168.1.1:1079

-->incoming
Client 192.168.1.1:1079 sent 18 bytes, message type : 0x09 retry count : 0x00
00 09 00 00 01 00 01 00 00 00 00 00 00 00 00 00 04 00
opcode 1 , sequence id 0
key is : 192.168.1.1:1079

-->incoming
Client 192.168.1.1:1079 sent 4 bytes, message type : 0x15 retry count : 0x00
00 15 00 00
message type 0x15, packet # 0 received and acknowledged by client
key : 127.0.0.1:1470
opcode : 4097, length : 16
Status : 0, Clients 0, Zones 1
key is : 192.168.1.1:1079

-->incoming
Use of uninitialized value in printf at client.pl line 60.
Client 192.168.1.1:1079 sent 2 bytes, message type : 0x06 retry count : 0x00
00 06
Attention !! unexpected packet
key : 127.0.0.1:1470
opcode : 4097, length : 16
Status : 0, Clients 0, Zones 1
currently on :
server from 127.0.0.1:1470 : Elite Corral
client from 192.168.1.1:1079
key is : 192.168.1.1:1079

-----------------------------------

This keeps repeating until I close everything down, and the client freezes at connecting to login server until I terminate the process. I'm using the client that was live as of 9/6/04 (definitely pre-9/14). Any ideas? TIA.

giulietta 09-16-2004 01:52 PM

minilogin trouble
 
I can load mini-login
I can load world.exe
I can load 5 zones

all work perfect before client launch

I know my eqhost.txt is correctly labelled

that being said I will post anything needed to confirm or not confirm my problem as the case might be but this is what I thought helpfull right away... text from loginserver on client attempt

reading : 127.0.0.1 testing testing
setting 0 to id 591, testing / testing
udp server listening on port : 5996
tcp server listening on port : 5996
now to work ...
currently on :
new incomming server ...
key : 127.0.0.1:1663
key : 127.0.0.1:1663
opcode : 4096, length : 607
World protocol : 0.3.10
World version : 0.5.7-DR6
World account :
World name : dukemiesters
World key : 127.0.0.1:1663
World passwd :
World url : 127.0.0.1
World type : 0
World category : 34
key : 127.0.0.1:1663
opcode : 4097, length : 16
Status : -2, Clients 0, Zones 0
key : 127.0.0.1:1663
opcode : 4097, length : 16
Status : -2, Clients 0, Zones 0
currently on :
server from 127.0.0.1:1663 : dukemiesters
key : 127.0.0.1:1663
opcode : 4097, length : 16
Status : -2, Clients 0, Zones 0
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x00
32 00 00 00 4c 2d 01 00 59 00 1d ffffff82 ffffff9a ffffffa9
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x01
32 00 00 01 4c 2d 01 00 59 00 ffffffbb fffffff5 ffffff91 1d
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x02
32 00 00 02 4c 2d 01 00 59 00 ffffff8a 1d ffffff8b ffffff80
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x03
32 00 00 03 4c 2d 01 00 59 00 2c 6a ffffff80 34
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x04
32 00 00 04 4c 2d 01 00 59 00 ffffffe9 ffffffcd ffffffbe ffffffba
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x05
32 00 00 05 4c 2d 01 00 59 00 4f ffffffba ffffffb5 0e
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x06
32 00 00 06 4c 2d 01 00 59 00 7e 52 ffffffaf ffffff93
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x07
32 00 00 07 4c 2d 01 00 59 00 ffffffd8 25 ffffffa4 27
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x08
32 00 00 08 4c 2d 01 00 59 00 2e 6d ffffffd4 ffffffce
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x09
32 00 00 09 4c 2d 01 00 59 00 ffffff88 1a ffffffdf 7a
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0a
32 00 00 0a 4c 2d 01 00 59 00 ffffffb9 fffffff2 ffffffc5 ffffffe7
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0b
32 00 00 0b 4c 2d 01 00 59 00 1f ffffff85 ffffffce 53
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0c
32 00 00 0c 4c 2d 01 00 59 00 ffffffda 22 fffffff0 ffffffdd
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0d
32 00 00 0d 4c 2d 01 00 59 00 7c 55 fffffffb 69
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0e
32 00 00 0e 4c 2d 01 00 59 00 4d ffffffbd ffffffe1 fffffff4
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x0f
32 00 00 0f 4c 2d 01 00 59 00 ffffffeb ffffffca ffffffea 40
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x10
32 00 00 10 4c 2d 01 00 59 00 7a 5c 06 67
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x11
32 00 00 11 4c 2d 01 00 59 00 ffffffdc 2b 0d ffffffd3
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x12
32 00 00 12 4c 2d 01 00 59 00 ffffffed ffffffc3 17 4e
Attention !! unexpected packet
key is : 127.0.0.1:1669

-->incoming
Client 127.0.0.1:1669 sent 14 bytes, message type : 0x00 retry count : 0x13
32 00 00 13 4c 2d 01 00 59 00 4b ffffffb4 1c fffffffa
Attention !! unexpected packet
key : 127.0.0.1:1663
opcode : 4097, length : 16
Status : 0, Clients 0, Zones 5
currently on :
server from 127.0.0.1:1663 : dukemiesters
key : 127.0.0.1:1663
opcode : 4097, length : 16
Status : 0, Clients 0, Zones 5


please assist

daeken_bb 09-16-2004 02:10 PM

Are you sure you're using the proper client revision?

Cutter 09-16-2004 02:16 PM

ok, what client version works?
 
ok, i am using 5.7dr6
and using a client that logs into eqemu servers when i am online..

i tried minilogin.. and works great .. i login..
using dave davespassword

get to the part where you select a server..

see my server..
then the comes the part where it starts to load graphics blah blah..

well it dont get to that part.. and just goes back to login screen

btw what should my eqhost.txt say now?

im excited about using this... cause i was probably one of the lots thats been crying about it.. btw thank you so much

Elkay 09-16-2004 02:59 PM

Yes I get to server select just fine with eqemu loginserver.

Cutter 09-16-2004 03:04 PM

yes, i do also
so, waiting on response.. i know it works ... just gotta figure out what im doing wrong

Elkay 09-16-2004 03:24 PM

Also a quick FYI.. my patch date is around 9/6/04, definitely pre-9/14 but not sure if there was any other patching in between those dates.

Cutter 09-16-2004 03:31 PM

I dont think so... i read the readme file and the person he was talking to seemed to log right in no problem..

killspree 09-17-2004 01:37 AM

9/6/2004 date of live patch does NOT work with 5.7dr6, that's your problem if you're experiencing any with this minilogin, most likely.

Elkay 09-17-2004 02:22 AM

Crap!! So is the patch current at 9/6 too new or too old? I wasn't aware of a patch after 9/6 and before 9/14 and people said to just not update to 9/14. I can log into 5.8s fine just not my 5.7 since I need to use MiniLogin since I'm behind NAT.

daeken_bb 09-17-2004 02:36 AM

Too new. 5.8 clients are incompatible with 5.7.

Doodman 09-17-2004 05:16 AM

Quote:

Originally Posted by Melwin
Quote:

Originally Posted by daeken_bb
Very cool :)

Question, is the client-login protocol the same as the 5.8 clients?

No.

Well, that is not entirely true.

The protocol is the same. The main differences between a login server for 5.7 servers (pre-6/22 client) and login server for 5.7 server (6/22 or later clients) are some OP code changes and crypto on the loginrequest and loginresponse packets.

Doodman 09-17-2004 05:20 AM

Quote:

Originally Posted by Elkay
Crap!! So is the patch current at 9/6 too new or too old? I wasn't aware of a patch after 9/6 and before 9/14 and people said to just not update to 9/14.

Here is the run down:
5.7-DR6 is compatible with pre-6/22 client
5.8-DR1 is compatible with 6/22-9/13 client
5.8-DR2 (when complete) will be compatible with 9/14 client.

Between 5.7-DR6 and 5.8-DR1 (i.e. on 6/22) was when SoE put crypto back in to the login servers.

Quote:

Originally Posted by Elkay
I can log into 5.8s fine just not my 5.7 since I need to use MiniLogin since I'm behind NAT.

This issue of being behind a NAT and using a public login server is not an issue with the newly release loginserer with crypto: http://www.eqemulator.net/forums/viewtopic.php?t=17270

Elkay 09-17-2004 05:21 AM

Bleh. Looks like I won't be running a server again until Minilogin can get updated then since I just got back into the scene this past week and I'm behind a NAT and can't have both internal and external access to the server with an external login server. Thanks all for the info though.

Doodman 09-17-2004 05:25 AM

Bump, as you were posting I was editting my previous message.

Elkay 09-17-2004 05:27 AM

Hey doodman, sorry I posted right when you did. I am aware that the NAT problem is unrelated to the incompatibility with my client and 5.7DR6. My problem is the fact that I only have the most recent patch pre-9/14 and that I need to use Minilogin which is only compatible with 5.7DR6, not with 5.8. I'm basically stuck waiting for Minilogin to become compatible with 5.8 or later since I need to be able to connect from both inside and outside my NAT router.

Elkay 09-17-2004 05:27 AM

Quote:

Originally Posted by Doodman
Bump, as you were posting I was editting my previous message.

Touche :lol:

Doodman 09-17-2004 05:45 AM

Not true.

You can use an external login server with a server behind a NAT firewall. I do it all the time.

Elkay 09-17-2004 06:05 AM

Care to elaborate? :D I spent waaaay too much time trying to find a way around it so that my internal computer that isn't the server would be forced out of the router and back in so that it appeared as the external address. I tried some advanced routing options with no success as I'm no networking expert and don't know how subnets work, etc. Additional equipment I have at my disposal if needed: a second router and an additional unused PC. Thanks for the help!

Doodman 09-17-2004 06:34 AM

You need to do the DNS trick.

So, say the DNS name of your -external- ip is elkay.homeip.net (or whatever your dns name is from your ISP) and your internal IP of your eqemu server is 192.168.1.100. Make sure that LoginServer.ini refers to your external DNS name as well as your boot5zones.bat, etc
LoginServer.ini
Code:

...
worldaddress=elkay.homeip.net
...

boot5zones.bat (or whatever)
Code:

zone.exe . elkay.homeip.net 7001 192.168.1.100
On the machine you play eq from, put a hosts file (\windows\system32\drivers\etc\hosts) entry that points that name to the internal IP address of your server.
Code:

192.168.1.100    elkay.homeip.net
After that you should be good to go.

Elkay 09-17-2004 06:43 AM

Hmm I think I did try just that, but I may have not quite got it right. I'll give it a shot again when I get home. Thanks!

Elkay 09-17-2004 09:19 AM

Just tried it. No dice. Settings:

worldaddress=aostang.dyndns.org

start zone . aostang.dyndns.org 8780 192.168.1.100

192.168.1.100 aostang.dyndns.org
192.168.1.101 aostang.dyndns.org

Tried interchanging and both entries in hosts on each machine and both machines, basically every combination. I'm still getting:

Zoneserver SetConnectInfo: 192.168.1.100:4555: aostang.dyndns.org:8780
176219 New client from ip: 192.168.1.101 port: 1076
Bad/expired session key: -1223839326
Removing client from ip:192.168.1.101 port:1076
252141 New client from ip: 192.168.1.101 port: 1089
Bad/expired session key: 1190736499
Removing client from ip:192.168.1.101 port:1089
263375 New client from ip: 192.168.1.101 port: 1092
Bad/expired session key: 188160628
Removing client from ip:192.168.1.101 port:1092
439469 New client from ip: 192.168.1.101 port: 1096
Bad/expired session key: 1098584789
Removing client from ip:192.168.1.101 port:1096

Not sure what to do at this point other than wait for Minilogin to get an update. :(

Doodman 09-17-2004 09:49 AM

Oh, you'll need to pull the new CVS dump (when it gets out) and use the login server at 5994 instead. (see my link posted earlier)

That is the IP/auth work around to the random account bug.. Now that crypto is broken, we don't need it.

After that, you'll work okay.

Cutter 09-17-2004 10:11 AM

what about the problem i am having.. can get to server select screen.. then it just puts me back to login.. after i try to enter world.. everything else works fine.. oh and i have the client compatable with 5.7DR6 .. cause i have played on scorps server and I run a test server as well.. so i know im all good there..

Elkay 09-17-2004 10:25 AM

Quote:

Originally Posted by Doodman
Oh, you'll need to pull the new CVS dump (when it gets out) and use the login server at 5994 instead. (see my link posted earlier)

That is the IP/auth work around to the random account bug.. Now that crypto is broken, we don't need it.

After that, you'll work okay.

Awesome, thanks for the info. :D

giulietta 09-18-2004 01:54 AM

Guess I do have the 5.8 client although I dont remember patchign up to i t. Oh well I guess I just have to wait for the mini login update......

/fish

/fish

/drink

/fish.....

KhaN 09-18-2004 02:07 AM

Quote:

Oh well I guess I just have to wait for the mini login update......
Wont happen tomorrow, this LS is the result of Smogo work for "World of Alkora" LS, and he decided to make it public so it would maybe be the start of an opensource LS.

We could spent time like Doodman did to break crypto to release a 5.8/live version of the LS, but we have other priorities on our task list and also because "World of Alkora" use 5.7 client, and we dont intend to be live compatible during the development phase, so i dont think LS live version will be made for the next months, since our first objective for the LS is attained, aka make a LS allowing peoples to login.

We are actually fixing some minor bugs, moving LS to C++. From time to time, new version will be posted, since we really want it to be opensource.

This LS instead EQEmu LS is intend to be opensource, but as its only a small part of the "World of Alkora" project, we cant fully work on it, if any of you made fix, made a live version, i would suggest to post them here, or PM smogo, and it will be added to the next versions.

Elkay 09-18-2004 04:17 AM

Thanks for the update, will just have to be patient and wait as usual hehe.

giulietta 09-18-2004 04:38 AM

Thanks for the update...

Guess I will byte the bullet and learn the one area of computers I swore I would never learn in detail.. programming.

Take me a couple months to bring my basic skills up to speed and then I'll try to contribute back to this community.

P.s. Any needs in any Networking areas...software....permissions etc I can assist in almost all with mroe than 10 years exp...just swore I would let others do the zeros and ones thing until now :)

daeken_bb 09-18-2004 04:41 AM

I think the problem here is the same as why we aren't including official LS support in OpenEQ... the crypto is DES-derived and depends on the key and algo being hidden to protect the data. If the algorithm gets out, it's no stronger than plaintext. I'd really like to work with you to get this to support OpenEQ clients when the time comes... we plan on using SSL, so there's no problem with opening the source as long as we don't distribute private keys to people hehe.

giulietta 09-18-2004 05:30 AM

Thought... would it be possible to re-encrypt after decryption?

I am assuming the eq client uses DES so we need to do the same to get communication back and forth... but once the DES is recieved by Login-server can we not re-encrypt? differently and then put back to DES on the return signal to client?


I know there are encryption algorithms like .net ones that take variable information as part of the key based on computer settings from clients machine which make knowing the algorithm itself useless to people because they would also need information about the clients machien such as computer name or the like.

daeken_bb 09-18-2004 05:43 AM

We don't have a whole lot of room to move though while keeping compatibility with the official client. you either use the crypto or you don't... can't change what the crypto is or how it's used, really.

tcsmyworld 09-18-2004 05:07 PM

..

KhaN 09-18-2004 07:31 PM

Daeken_bb, i would be for an MD5 encryption, here, lots would wonder why ? Because PHPBB forums use MD5 encryption, and it would be a good way to a cross user DB for forum / website / server.


All times are GMT -4. The time now is 10:17 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.