Add dev options to config

This commit is contained in:
Andrew Gutekanst
2020-02-22 22:40:11 -05:00
parent 1d8eec2280
commit 35f34d31db
4 changed files with 31 additions and 7 deletions

View File

@@ -2,6 +2,12 @@
"host_ip": "127.0.0.1", "host_ip": "127.0.0.1",
"bin_path": "bin", "bin_path": "bin",
"devmode": false,
"devmodeoptions": {
"cleandb": false,
"maxlauncherhr": true
},
"database": { "database": {
"host": "localhost", "host": "localhost",
"port": 5432, "port": 5432,

View File

@@ -9,9 +9,11 @@ import (
// Config holds the global server-wide config. // Config holds the global server-wide config.
type Config struct { type Config struct {
HostIP string `mapstructure:"host_ip"` HostIP string `mapstructure:"host_ip"`
BinPath string `mapstructure:"bin_path"` BinPath string `mapstructure:"bin_path"`
DevMode bool
DevModeOptions DevModeOptions
Database Database Database Database
Launcher Launcher Launcher Launcher
Sign Sign Sign Sign
@@ -19,6 +21,12 @@ type Config struct {
Entrance Entrance Entrance Entrance
} }
// DevModeOptions holds various debug/temporary options for use while developing Erupe.
type DevModeOptions struct {
CleanDB bool // Automatically wipes the DB on server reset.
MaxLauncherHR bool // Sets the HR returned in the launcher to HR9 so that you can join non-beginner worlds.
}
// Database holds the postgres database config. // Database holds the postgres database config.
type Database struct { type Database struct {
Host string Host string
@@ -30,7 +38,7 @@ type Database struct {
// Launcher holds the launcher server config. // Launcher holds the launcher server config.
type Launcher struct { type Launcher struct {
Port int Port int
UseOriginalLauncherFiles bool UseOriginalLauncherFiles bool
} }

View File

@@ -59,9 +59,12 @@ func main() {
} }
logger.Info("Connected to database") logger.Info("Connected to database")
logger.Info("Cleaning DB") // Clean the DB if the option is on.
cleanDB(db) if erupeConfig.DevMode && erupeConfig.DevModeOptions.CleanDB {
logger.Info("Done cleaning DB") logger.Info("Cleaning DB")
cleanDB(db)
logger.Info("Done cleaning DB")
}
// Now start our server(s). // Now start our server(s).

View File

@@ -54,8 +54,15 @@ func (s *Session) makeSignInResp(uid int) []byte {
uint8PascalString(bf, "mhf-n.capcom.com.tw") uint8PascalString(bf, "mhf-n.capcom.com.tw")
for _, char := range chars { for _, char := range chars {
bf.WriteUint32(char.ID) // character ID 469153291 bf.WriteUint32(char.ID) // character ID 469153291
bf.WriteUint16(char.Exp) // Exp, HR[x] is split by 0, 1, 30, 50, 99, 299, 998, 999
// Exp, HR[x] is split by 0, 1, 30, 50, 99, 299, 998, 999
if s.server.erupeConfig.DevMode && s.server.erupeConfig.DevModeOptions.MaxLauncherHR {
bf.WriteUint16(999)
} else {
bf.WriteUint16(char.Exp)
}
bf.WriteUint16(char.Weapon) // Weapon, 0-13. bf.WriteUint16(char.Weapon) // Weapon, 0-13.
bf.WriteUint32(char.LastLogin) // Last login date, unix timestamp in seconds. bf.WriteUint32(char.LastLogin) // Last login date, unix timestamp in seconds.
bf.WriteBool(char.IsFemale) // Sex, 0=male, 1=female. bf.WriteBool(char.IsFemale) // Sex, 0=male, 1=female.