Results 1 to 1 of 1

Thread: *Test Server* Offsets - 2/10/2008

  1. #1
    Registered User
    Join Date
    Sep 2006
    Posts
    97

    *Test Server* Offsets - 2/10/2008

    myseqserver.ini
    Code:
    [File Info]
    PatchDate=2/10/2008
     
    [Port]
    port=5555
     
    [Memory Offsets]
    ZoneAddr=0x949104
    SpawnHeaderAddr=0x9BA3AC
    CharInfo=0x92B150
    TargetAddr=0x92B154
    ItemsAddr=0x92B10C
    TrackingListAddr=0x0
     
    [SpawnInfo Offsets]
    NextOffset=0x4
    PrevOffset=0x8
    LastnameOffset=0x38
    XOffset=0x64
    YOffset=0x68
    ZOffset=0x6c
    SpeedOffset=0x7c
    HeadingOffset=0x80
    NameOffset=0xA4
    TypeOffset=0x125
    SpawnIDOffset=0x0
    LevelOffset=0x2d8
    RaceOffset=0xe44
    ClassOffset=0xe48
    HideOffset=0x0
     
    [GroundItem Offsets]
    PrevOffset=0x00
    NextOffset=0x04
    IdOffset=0x08
    DropIdOffset=0x0c
    XOffset=0x34
    YOffset=0x30
    ZOffset=0x2c
    NameOffset=0x38

    You will also need to update the following two MySEQ-Server files.
    MySEQ.server.h
    Code:
    #pragma once
    
    #include "Common.h"
    #include "IniReader.h"
    #include "MemReader.h"
    #include "NetworkServer.h"
    #include "Debugger.h"
    
    using namespace std;
    
    class MainApp
    {
    private:
    
        bool debug;
        bool testeqgame;
        IniReader iniReader;
        NetworkServer netServer;
        MemReader memReader;
        Debugger debugger;
    
    public:
        MainApp(int argc, _TCHAR* argv[]);
        void run();
    };
    MySEQ.server.cpp
    Code:
    #include "stdafx.h"
    #include "MySEQ.server.h"
    
    MainApp::MainApp(int argc, _TCHAR* argv[])
    {
        string arg;
        if (argc > 1)
            arg = argv[1];
    
        debug = (arg == "debug");
        testeqgame = (arg == "testeqgame");
        if (argc >1 && !debug)
        {
            cout << "   Usage: myseqserver (debug|testeqgame)" << endl;
            cout << "      debug - enter debug command line interface" << endl << endl;
            cout << "      testeqgame - enable myseqserver to work with test server executable" << endl << endl;
            THROW_WARNING("Unknown parameter(s) '" << arg << "'");
        }
    }
    
    void MainApp::run(void)
    {
    
        // Debug priviledges allow us to peek inside the EQ process.
        memReader.enableDebugPrivileges();
    
        if (debug)
        {
            // Debug server mode
            iniReader.openFile("./myseqserver.ini");
            memReader.openFirstProcess((testeqgame) ? "testeqgame" : "eqgame");
            debugger.enterDebugLoop(&memReader, &iniReader);
        }
        else
        {
            // Normal server mode
            while (1)
            {
                iniReader.openFile("./myseqserver.ini");
                netServer.init(&iniReader);
                netServer.openListenerSocket();
                netServer.openClientSocket();
                if ( memReader.openFirstProcess((testeqgame) ? "testeqgame" : "eqgame") )
                {
                    netServer.enterReceiveLoop(&memReader);
                    // If the process was valid, but no longer valid, auto-shutdown the server.
                    if (!memReader.validateProcess(true))
                    {
                        cout << "MainApp: Process closed. Auto closing server." << endl;
                        break;
                    }            
                }
                netServer.closeClientSocket();
                netServer.closeListenerSocket();
            }
        }
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        cout << "========================" << endl <<
                "  MySEQ Open v1.20.0    " << endl <<
                "========================" << endl <<
                "This software is covered under the GNU Public License (GPL)" << endl <<
                "March 2007" << endl << endl;
    
        try
        {
            MainApp app(argc, argv);
            app.run();
        }
        catch (Exception e)
        {
            cout << e;
        }
    
        return 0;
    }
    Now, if you want to run MySEQ-Server on the test server, simply pass it the argument "testeqgame"
    Last edited by Carpathian; 04-14-2008 at 12:41 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On