main.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "os"
  7. "aytechnology.us/gominecraft/mod/config"
  8. "aytechnology.us/gominecraft/mod/server"
  9. )
  10. //MCServer should not be exported
  11. var MCServer *server.Handler
  12. //Config should not be exported
  13. var Config *config.Handler
  14. var serverConfig startupConfig
  15. type startupConfig struct {
  16. Java string `json:"java"`
  17. Min string `json:"min"`
  18. Max string `json:"max"`
  19. Jar string `json:"jar"`
  20. Folder string `json:"folder"`
  21. Arg string `json:"arg"`
  22. Port string `json:"port"`
  23. }
  24. func main() {
  25. //init the startup configuration
  26. jsonFile, err := os.Open("./startup.json")
  27. if err != nil {
  28. fmt.Println(err)
  29. }
  30. byte, _ := ioutil.ReadAll(jsonFile)
  31. json.Unmarshal(byte, &serverConfig)
  32. MCServer = server.NewHandler(serverConfig.Java, serverConfig.Jar, serverConfig.Min, serverConfig.Max, serverConfig.Arg)
  33. Config = config.NewHandler(serverConfig.Folder)
  34. Config.AutoUpdate() //enable auto update
  35. CrashRestart()
  36. /*
  37. go func() {
  38. i := 0
  39. for {
  40. end := MCServer.LenLog()
  41. log := MCServer.ReadRangeLog(i, end)
  42. for _, line := range log {
  43. fmt.Println(line.Log)
  44. }
  45. i = end
  46. }
  47. }()
  48. */
  49. webServer("./webroot/", serverConfig.Folder, serverConfig.Port)
  50. }