main.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. type startupConfig struct {
  15. Java string `json:"java"`
  16. Min string `json:"min"`
  17. Max string `json:"max"`
  18. Jar string `json:"jar"`
  19. Folder string `json:"folder"`
  20. Arg string `json:"arg"`
  21. Port string `json:"port"`
  22. }
  23. func main() {
  24. //init the startup configuration
  25. jsonFile, err := os.Open("./startup.json")
  26. if err != nil {
  27. fmt.Println(err)
  28. }
  29. byte, _ := ioutil.ReadAll(jsonFile)
  30. var serverConfig startupConfig
  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. }