mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-13 15:34:38 +01:00
enhance quest debugging tools
This commit is contained in:
@@ -19,7 +19,7 @@
|
|||||||
"MezFesAlt": false,
|
"MezFesAlt": false,
|
||||||
"DisableMailItems": true,
|
"DisableMailItems": true,
|
||||||
"DisableTokenCheck": false,
|
"DisableTokenCheck": false,
|
||||||
"PrintQuestCoordinates": false,
|
"QuestDebugTools": false,
|
||||||
"SaveDumps": {
|
"SaveDumps": {
|
||||||
"Enabled": true,
|
"Enabled": true,
|
||||||
"OutputDir": "savedata"
|
"OutputDir": "savedata"
|
||||||
|
|||||||
@@ -29,23 +29,23 @@ type Config struct {
|
|||||||
|
|
||||||
// DevModeOptions holds various debug/temporary options for use while developing Erupe.
|
// DevModeOptions holds various debug/temporary options for use while developing Erupe.
|
||||||
type DevModeOptions struct {
|
type DevModeOptions struct {
|
||||||
EnableLauncherServer bool // Enables the launcher server to be served on port 80
|
EnableLauncherServer bool // Enables the launcher server to be served on port 80
|
||||||
HideLoginNotice bool // Hide the Erupe notice on login
|
HideLoginNotice bool // Hide the Erupe notice on login
|
||||||
LoginNotice string // MHFML string of the login notice displayed
|
LoginNotice string // MHFML string of the login notice displayed
|
||||||
CleanDB bool // Automatically wipes the DB on server reset.
|
CleanDB bool // Automatically wipes the DB on server reset.
|
||||||
MaxLauncherHR bool // Sets the HR returned in the launcher to HR7 so that you can join non-beginner worlds.
|
MaxLauncherHR bool // Sets the HR returned in the launcher to HR7 so that you can join non-beginner worlds.
|
||||||
LogInboundMessages bool // Log all messages sent to the server
|
LogInboundMessages bool // Log all messages sent to the server
|
||||||
LogOutboundMessages bool // Log all messages sent to the clients
|
LogOutboundMessages bool // Log all messages sent to the clients
|
||||||
MaxHexdumpLength int // Maximum number of bytes printed when logs are enabled
|
MaxHexdumpLength int // Maximum number of bytes printed when logs are enabled
|
||||||
DivaEvent int // Diva Defense event status
|
DivaEvent int // Diva Defense event status
|
||||||
FestaEvent int // Hunter's Festa event status
|
FestaEvent int // Hunter's Festa event status
|
||||||
TournamentEvent int // VS Tournament event status
|
TournamentEvent int // VS Tournament event status
|
||||||
MezFesEvent bool // MezFes status
|
MezFesEvent bool // MezFes status
|
||||||
MezFesAlt bool // Swaps out Volpakkun for Tokotoko
|
MezFesAlt bool // Swaps out Volpakkun for Tokotoko
|
||||||
DisableTokenCheck bool // Disables checking login token exists in the DB (security risk!)
|
DisableTokenCheck bool // Disables checking login token exists in the DB (security risk!)
|
||||||
DisableMailItems bool // Hack to prevent english versions of MHF from crashing
|
DisableMailItems bool // Hack to prevent english versions of MHF from crashing
|
||||||
PrintQuestCoordinates bool // Prints quest coordinates to console
|
QuestDebugTools bool // Enable various quest debug logs
|
||||||
SaveDumps SaveDumpOptions
|
SaveDumps SaveDumpOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
type SaveDumpOptions struct {
|
type SaveDumpOptions struct {
|
||||||
|
|||||||
@@ -90,8 +90,9 @@ func handleMsgSysCastBinary(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.server.erupeConfig.DevModeOptions.PrintQuestCoordinates == true && s.server.erupeConfig.DevMode {
|
if s.server.erupeConfig.DevModeOptions.QuestDebugTools == true && s.server.erupeConfig.DevMode {
|
||||||
if pkt.BroadcastType == 0x03 && pkt.MessageType == 0x02 && len(pkt.RawDataPayload) > 32 {
|
if pkt.BroadcastType == 0x03 && pkt.MessageType == 0x02 && len(pkt.RawDataPayload) > 32 {
|
||||||
|
// This is only correct most of the time
|
||||||
tmp.ReadBytes(20)
|
tmp.ReadBytes(20)
|
||||||
tmp.SetLE()
|
tmp.SetLE()
|
||||||
x := tmp.ReadFloat32()
|
x := tmp.ReadFloat32()
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package channelserver
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"go.uber.org/zap"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@@ -13,9 +14,16 @@ import (
|
|||||||
func handleMsgSysGetFile(s *Session, p mhfpacket.MHFPacket) {
|
func handleMsgSysGetFile(s *Session, p mhfpacket.MHFPacket) {
|
||||||
pkt := p.(*mhfpacket.MsgSysGetFile)
|
pkt := p.(*mhfpacket.MsgSysGetFile)
|
||||||
|
|
||||||
// Debug print the request.
|
|
||||||
if pkt.IsScenario {
|
if pkt.IsScenario {
|
||||||
fmt.Printf("%+v\n", pkt.ScenarioIdentifer)
|
if s.server.erupeConfig.DevModeOptions.QuestDebugTools && s.server.erupeConfig.DevMode {
|
||||||
|
s.logger.Debug(
|
||||||
|
"Scenario",
|
||||||
|
zap.Uint8("CategoryID", pkt.ScenarioIdentifer.CategoryID),
|
||||||
|
zap.Uint32("MainID", pkt.ScenarioIdentifer.MainID),
|
||||||
|
zap.Uint8("ChapterID", pkt.ScenarioIdentifer.ChapterID),
|
||||||
|
zap.Uint8("Flags", pkt.ScenarioIdentifer.Flags),
|
||||||
|
)
|
||||||
|
}
|
||||||
filename := fmt.Sprintf("%d_0_0_0_S%d_T%d_C%d", pkt.ScenarioIdentifer.CategoryID, pkt.ScenarioIdentifer.MainID, pkt.ScenarioIdentifer.Flags, pkt.ScenarioIdentifer.ChapterID)
|
filename := fmt.Sprintf("%d_0_0_0_S%d_T%d_C%d", pkt.ScenarioIdentifer.CategoryID, pkt.ScenarioIdentifer.MainID, pkt.ScenarioIdentifer.Flags, pkt.ScenarioIdentifer.ChapterID)
|
||||||
// Read the scenario file.
|
// Read the scenario file.
|
||||||
data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("scenarios/%s.bin", filename)))
|
data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("scenarios/%s.bin", filename)))
|
||||||
@@ -31,6 +39,12 @@ func handleMsgSysGetFile(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
}
|
}
|
||||||
doAckBufSucceed(s, pkt.AckHandle, data)
|
doAckBufSucceed(s, pkt.AckHandle, data)
|
||||||
} else {
|
} else {
|
||||||
|
if s.server.erupeConfig.DevModeOptions.QuestDebugTools && s.server.erupeConfig.DevMode {
|
||||||
|
s.logger.Debug(
|
||||||
|
"Quest",
|
||||||
|
zap.String("Filename", pkt.Filename),
|
||||||
|
)
|
||||||
|
}
|
||||||
// Get quest file.
|
// Get quest file.
|
||||||
data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", pkt.Filename)))
|
data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", pkt.Filename)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user