main.go 1.1 KB

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