Editing Server:MacSupport

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
=== Client-based Constraints ===
The Everquest: Macintosh edition with which the TAKP client is based is a 32-bit application.  The last version of MacOS to support 32-bit applications was MacOS Mojave 10.14 on either Intel or PPC architectures.  Thus, the only way currently to play TAKP on a MAC is using a machine with one of these architectures and MacOS 10.14 or earlier.
The Everquest: Macintosh edition with which the TAKP client is based is a 32-bit application.  The last version of MacOS to support 32-bit applications was MacOS Mojave 10.14 on either Intel or PPC architectures.  Thus, the only way currently to play TAKP on a MAC is using a machine with one of these architectures and MacOS 10.14 or earlier.


Mac support requires special care to provide a server name to the client application since it lacks a server select screen UI.  This is typically handled by the server, but it is possible to also manipulate it at client level using Apple IPC mechanisms (as Solar did for the [https://github.com/EQArchives/EQMacEmu/blob/09da8370ff01ea671fbc772511579b8d4876741e/utils/EQPPCLaunch/main.c PPC launcher]).
Mac support requires special care to provide a server name to the client application since it lacks a server select screen UI.  This is typically handled by the server, but it is possible to also manipulate it at client level using Apple IPC mechanisms (as Solar did for the [https://github.com/EQArchives/EQMacEmu/blob/09da8370ff01ea671fbc772511579b8d4876741e/utils/EQPPCLaunch/main.c PPC launcher]).


== Login Protocol ==
The original Everquest: Macintosh Edition used the launcher to authenticate with an SOE session server which would then provide a ticket back to the client.  The client would then pass the ticket to the world server.  EQ has a basic crypt mechanism for the password and this is similar in concept to how Kerberos is/was used by Active Directory in Windows operating systems.
The original Everquest: Macintosh Edition used the launcher to authenticate with an SOE session server which would then provide a ticket back to the client.  The client would then pass the ticket to the world server.  EQ has a basic crypt mechanism for the password and this is similar in concept to how Kerberos is/was used by Active Directory in Windows operating systems.


To get MAC support working, the client simply passes username/password directly to the loginserver as if it was a ticket (skipping the session server step).  The loginserver parses the username/password part of the ticket string.
To get MAC support working, the client simply passes username/password directly to the loginserver as if it was a ticket (skipping the session server step).  The loginserver parses the username/password part of the ticket string.


'''''Editor's Note: The password is being passed over the wire in the clear (no encryption/hashing).  This is a potential area for future improvement.'''''
== Opcodes ==
 
=== Opcodes ===
All opcodes are found at [https://github.com/EQMacEmu/Server/blob/fc08674c9bf0d02aa1b408b2d9c7e5cb578a0c75/loginserver/login_util/login_opcodes_oldver.conf login_opcodes_oldver.conf] but the following are relevant to this discussion:
All opcodes are found at [https://github.com/EQMacEmu/Server/blob/fc08674c9bf0d02aa1b408b2d9c7e5cb578a0c75/loginserver/login_util/login_opcodes_oldver.conf login_opcodes_oldver.conf] but the following are relevant to this discussion:


Line 21: Line 17:
* OP_LoginBanner=0x5200
* OP_LoginBanner=0x5200


== Login Protocol ==
When a client first authenticates to the loginserver, it sends the <span style="font-weight:bold">OP_SessionReady</span> opcode to the server, and the server responds back with <span style="font-weight:bold">OP_SessionReady</span>.
When a client first authenticates to the loginserver, it sends the <span style="font-weight:bold">OP_SessionReady</span> opcode to the server, and the server responds back with <span style="font-weight:bold">OP_SessionReady</span>.


Please note that all contributions to The Al`Kabor Project Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see The Al'Kabor Project Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)