12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package main
- import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "os"
- "aytechnology.us/gominecraft/mod/config"
- "aytechnology.us/gominecraft/mod/server"
- )
- //MCServer should not be exported
- var MCServer *server.Handler
- //Config should not be exported
- var Config *config.Handler
- var serverConfig startupConfig
- type startupConfig struct {
- Java string `json:"java"`
- Min string `json:"min"`
- Max string `json:"max"`
- Jar string `json:"jar"`
- Folder string `json:"folder"`
- Arg string `json:"arg"`
- Port string `json:"port"`
- }
- func main() {
- //init the startup configuration
- jsonFile, err := os.Open("./startup.json")
- if err != nil {
- fmt.Println(err)
- }
- byte, _ := ioutil.ReadAll(jsonFile)
- json.Unmarshal(byte, &serverConfig)
- MCServer = server.NewHandler(serverConfig.Java, serverConfig.Jar, serverConfig.Min, serverConfig.Max, serverConfig.Arg)
- Config = config.NewHandler(serverConfig.Folder)
- Config.AutoUpdate() //enable auto update
- webServer("./webroot/", serverConfig.Folder, serverConfig.Port)
- go func() {
- i := 0
- for {
- end := MCServer.LenLog()
- log := MCServer.ReadRangeLog(i, end)
- for _, line := range log {
- fmt.Println(line.Log)
- }
- i = end
- }
- }()
- }
|