Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # Copyright (C) 2006 - 2013 All developers at http://sourceforge.net/projects/seq
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License
- # as published by the Free Software Foundation; either version 2
- # of the License, or (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #
- [File Info]
- PatchDate=01/17/2018
- [Port]
- port=5555
- [Memory Offsets]
- # pinstZoneAddr_x
- ZoneAddr=0xf3398c
- # pinstSpawnManager_x
- SpawnHeaderAddr=0xfb90b0
- # pinstLocalPlayer_x
- CharInfo=0xf26008
- # pinstTarget_x
- TargetAddr=0xf26020
- # pinstEQItemList_x
- ItemsAddr=0xf22498
- # pinstWorldData_x
- WorldAddr=0xf25fd8
- [WorldInfo Offsets]
- WorldHourOffset=4
- WorldMinuteOffset=5
- WorldDayOffset=6
- WorldMonthOffset=7
- WorldYearOffset=8
- [SpawnInfo Offsets]
- NextOffset=0x4
- PrevOffset=0x8
- LastnameOffset=0x38
- XOffset=0x64
- YOffset=0x68
- ZOffset=0x6c
- SpeedOffset=0x7c
- HeadingOffset=0x80
- NameOffset=0xa4
- TypeOffset=0x125
- SpawnIDOffset=0x148
- # DWORD pets has this merc dont MasterID
- OwnerIDOffset=0x46c
- # dword HideMode
- HideOffset=0x580
- # BYTE Level
- LevelOffset=0x3b5
- # BYTE Class
- ClassOffset=0xf84
- # dword Race = Class-8
- RaceOffset=0xf7c
- # ActorEquipment + 8c
- PrimaryOffset=0x108c
- # Offhand Offset DWORD
- OffhandOffset=0x10a0
- [GroundItem Offsets]
- PrevOffset=0x00
- NextOffset=0x04
- IdOffset=0x08
- DropIdOffset=0x0c
- XOffset=0x70
- YOffset=0x74
- ZOffset=0x78
- NameOffset=0x1c
- # Using the new Debug CLI
- # =======================
- # To start the server in debug mode, run the server with the 'debug' argument:
- #
- # myseqserver debug
- #
- # You will see the menu, which looks like this:
- #
- # Debug Menu
- # =======================
- # d) display current offsets
- # r) reload all offsets from INI file
- # spo) set a primary offset (index/name) (hex value)
- # sso) set a secondary offset (index/name) (hex value)
- # ez) examine raw data using pZone
- # et) examine raw data using pTarget
- # ew) examine raw data using pWorld
- # fz) find zonename using pZone (zonename)
- # ft) find spawnname using pTarget (spawnname)
- # fs) find spawnname using pSelf (spawnname)
- # ps) process a spawn entity using pSelf
- # pt) process a spawn entity using pTarget
- # sp) scan process names (process name)
- # sft) scan for floating point using pTarget (X,Y,Z)
- # sfa) scan for floating point using Address (X,Y,Z,Address)
- # sfw) scan for world offsets using game date (mm/dd/yyyy)
- # sg) scan for ground items
- # ws) walk the spawnlist (reverse) using pSelf
- # wt) walk the spawnlist (reverse) using pTarget
- # vs) walk the spawnlist (forward) using pSelf
- # vt) walk the spawnlist (forward) using pTarget
- # x) exit
- #
- # >
- #
- #
- # To select a command, type it in and press Enter. Some commands require
- # arguments, which are indicated in parenthesis.
- #
- # If you are having troubling just accessing the EQ process, first try the 'scan process names' command:
- # > sp
- #
- # You can provide an optional process name to attempt to scan for and access, but if you do not provide
- # any arguments, then it will default to 'eqgame'. You will see a list of processes detected on your system
- # and if a match is found, it will try and access it, providing feedback on the results. Prior to server v1.19.1,
- # this was a case-sensitive match. For server v1.19.1 and higher, the check is case-insensitive. We had some
- # problems on a Win2K system regarding this.
- #
- # When new offsets are needed, you can start the server in debug mode and it will use the
- # old offsets as starting points to locate the new offsets.
- #
- # The first thing is to locate the zonename. Just enter a zone that you know the name of, like the Bazaar,
- # and use the "fz" command along with the appropriate shortname for the zone:
- # > fz Bazaar
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pZone value. Select one and
- # place it in the INI file above under ZoneAddr. Now press 'r' to reload the INI file into the debug server.
- # Press 'd' to verify your change was actually loaded.
- #
- # Next we want to locate the pTarget value, stored above as TargetAddr. Inside the game, select any target NPC
- # or PC other than yourself. It is best to select a uniquely named NPC, like "Boss Hogg". Do not select an NPC
- # with a re-used name, like "a rat". Now you need to determine the hidden name of that NPC. To do this, replace
- # any spaces in the name with underscores, and stick a 00 on the end. So "Boss Hogg" becomes "Boss_Hogg00".
- # Use this hidden name as the sole argument to the 'ft' command:
- # > ft Boss_Hogg00
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pTarget. Select one and
- # place it in the INI file above under TargetAddr. Press 'r' to reload the INI file.
- #
- # Next we want to locate the pSpawnlist value, stored above as SpawnHeaderAddr. This is very easy once you have
- # pTarget done above. Simply select any target in the game and use the 'wt' command:
- # > wt
- #
- # You should see a long list of spawn information dump out. At the end, we do an automatic scan looking for
- # where that entry point pointer lives. You should see a list of matches. Anyone of them could potentially be
- # a valid pSpawnlist. Select one and place it in the INI file above under SpawnHeaderAddr. Press 'r' to reload
- # the INI file.
- #
- # Next we want to locate the pSelf value, store above as CharInfo. Inside the game, select yourself as the
- # target (press F1) and use the 'ft' command along with your characters first name:
- # > ft Yourfirstname
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pSelf. Select one and
- # place it in the INI file above under CharInfo. Press 'r' to reload the INI file.
- #
- # Last we want to locate the pGroundItems value, stored above as ItemsAddr. Just use the 'sg' command and
- # look for matched pointers that look like 'ITxxxxx_ACTORDEF', where xxxxx is any 3 or 5 digit number.
- # > sg
- # Scanning for 'IT' from 0x7d62c4 to 0x9d62c4
- # Pointer match found at 0x8d62c4. Full string is IT10805_ACTORDEF
- # Pointer match found at 0x9bc648. Full string is ITORTOKEN
- #
- # Of course the first one here looks good. Put it in the INI file above under ItemsAddr. Press 'r' to
- # reload the INI file.
- #
- # You can now exit the server (press 'x') and restart it in normal mode. Try attaching the client to it.
- # As long as none of the secondary offsets have changed, it should work. If it only works for a short time
- # and then stops working, repeat the above procedure, but this time make different selections in the match
- # lists.
- #
- # If the secondary offsets have changed, or the basic design of how they obtain spawn information, the server
- # may need to be updated. The other debug options can be used to aid in locating secondary offsets, but it
- # is so involved that it is probably best to use a full blown RAM editor. Please visit our forums to learn
- # how to help ( http://www.showeq.net/ and look for the MySEQ subforums).
- #
- # Notes:
- # - All string searches are case sensitive!
- # - As you get matches, write them all down! If a function works for a minute or so and then stops working, try the
- # next match in the list.
- # - If you use the spo/sso functions, the changes are NOT made in the INI file. Once you exit, those changes are lost.
- # - Only reverse walks (wt/ws) will scan for entry point pointers. Forward walks will just show the spawns and return.
- #
- # You will see the menu, which looks like this:
- #
- # Debug Menu
- # =======================
- # d) display current offsets
- # r) reload all offsets from INI file
- # spo) set a primary offset (index/name) (hex value)
- # sso) set a secondary offset (index/name) (hex value)
- # ez) examine raw data using pZone
- # et) examine raw data using pTarget
- # ew) examine raw data using pWorld
- # fz) find zonename using pZone (zonename)
- # ft) find spawnname using pTarget (spawnname)
- # fs) find spawnname using pSelf (spawnname)
- # ps) process a spawn entity using pSelf
- # pt) process a spawn entity using pTarget
- # sp) scan process names (process name)
- # sft) scan for floating point using pTarget (X,Y,Z)
- # sfa) scan for floating point using Address (X,Y,Z,Address)
- # sfw) scan for world offsets using game date (mm/dd/yyyy)
- # sg) scan for ground items
- # ws) walk the spawnlist (reverse) using pSelf
- # wt) walk the spawnlist (reverse) using pTarget
- # vs) walk the spawnlist (forward) using pSelf
- # vt) walk the spawnlist (forward) using pTarget
- # x) exit
- #
- # >
- #
- #
- # To select a command, type it in and press Enter. Some commands require
- # arguments, which are indicated in parenthesis.
- #
- # If you are having troubling just accessing the EQ process, first try the 'scan process names' command:
- # > sp
- #
- # You can provide an optional process name to attempt to scan for and access, but if you do not provide
- # any arguments, then it will default to 'eqgame'. You will see a list of processes detected on your system
- # and if a match is found, it will try and access it, providing feedback on the results. Prior to server v1.19.1,
- # this was a case-sensitive match. For server v1.19.1 and higher, the check is case-insensitive. We had some
- # problems on a Win2K system regarding this.
- #
- # When new offsets are needed, you can start the server in debug mode and it will use the
- # old offsets as starting points to locate the new offsets.
- #
- # The first thing is to locate the zonename. Just enter a zone that you know the name of, like the Bazaar,
- # and use the "fz" command along with the appropriate shortname for the zone:
- # > fz Bazaar
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pZone value. Select one and
- # place it in the INI file above under ZoneAddr. Now press 'r' to reload the INI file into the debug server.
- # Press 'd' to verify your change was actually loaded.
- #
- # Next we want to locate the pTarget value, stored above as TargetAddr. Inside the game, select any target NPC
- # or PC other than yourself. It is best to select a uniquely named NPC, like "Boss Hogg". Do not select an NPC
- # with a re-used name, like "a rat". Now you need to determine the hidden name of that NPC. To do this, replace
- # any spaces in the name with underscores, and stick a 00 on the end. So "Boss Hogg" becomes "Boss_Hogg00".
- # Use this hidden name as the sole argument to the 'ft' command:
- # > ft Boss_Hogg00
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pTarget. Select one and
- # place it in the INI file above under TargetAddr. Press 'r' to reload the INI file.
- #
- # Next we want to locate the pSpawnlist value, stored above as SpawnHeaderAddr. This is very easy once you have
- # pTarget done above. Simply select any target in the game and use the 'wt' command:
- # > wt
- #
- # You should see a long list of spawn information dump out. At the end, we do an automatic scan looking for
- # where that entry point pointer lives. You should see a list of matches. Anyone of them could potentially be
- # a valid pSpawnlist. Select one and place it in the INI file above under SpawnHeaderAddr. Press 'r' to reload
- # the INI file.
- #
- # Next we want to locate the pSelf value, store above as CharInfo. Inside the game, select yourself as the
- # target (press F1) and use the 'ft' command along with your characters first name:
- # > ft Yourfirstname
- #
- # You should see a list of matches. Anyone of them could potentially be a valid pSelf. Select one and
- # place it in the INI file above under CharInfo. Press 'r' to reload the INI file.
- #
- # Last we want to locate the pGroundItems value, stored above as ItemsAddr. Just use the 'sg' command and
- # look for matched pointers that look like 'ITxxxxx_ACTORDEF', where xxxxx is any 3 or 5 digit number.
- # > sg
- # Scanning for 'IT' from 0x7d62c4 to 0x9d62c4
- # Pointer match found at 0x8d62c4. Full string is IT10805_ACTORDEF
- # Pointer match found at 0x9bc648. Full string is ITORTOKEN
- #
- # Of course the first one here looks good. Put it in the INI file above under ItemsAddr. Press 'r' to
- # reload the INI file.
- #
- # You can now exit the server (press 'x') and restart it in normal mode. Try attaching the client to it.
- # As long as none of the secondary offsets have changed, it should work. If it only works for a short time
- # and then stops working, repeat the above procedure, but this time make different selections in the match
- # lists.
- #
- # If the secondary offsets have changed, or the basic design of how they obtain spawn information, the server
- # may need to be updated. The other debug options can be used to aid in locating secondary offsets, but it
- # is so involved that it is probably best to use a full blown RAM editor. Please visit our forums to learn
- # how to help ( http://www.showeq.net/ and look for the MySEQ subforums).
- #
- # Notes:
- # - All string searches are case sensitive!
- # - As you get matches, write them all down! If a function works for a minute or so and then stops working, try the
- # next match in the list.
- # - If you use the spo/sso functions, the changes are NOT made in the INI file. Once you exit, those changes are lost.
- # - Only reverse walks (wt/ws) will scan for entry point pointers. Forward walks will just show the spawns and return.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement