main.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. webServer("./webroot/", serverConfig.Folder, serverConfig.Port)
  36. go func() {
  37. i := 0
  38. for {
  39. end := MCServer.LenLog()
  40. log := MCServer.ReadRangeLog(i, end)
  41. for _, line := range log {
  42. fmt.Println(line.Log)
  43. }
  44. i = end
  45. }
  46. }()
  47. }