diff --git a/config.yaml b/config.yaml deleted file mode 100644 index 96529ba..0000000 --- a/config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -LogLevel: "debug" -Listen: ":8797" -EsConfig: - Enable: true - Url: "http://xcon.top:9200" - Index: "server_log_v1" - Username: "elastic" - Password: "1625167628@xcon" \ No newline at end of file diff --git a/server_config.json b/server_config.json deleted file mode 100644 index 3a72672..0000000 --- a/server_config.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "user": [ - { - "account": "admin", - "password": "91cd3b960f31c06fc4048ff44e6654c1" - }, - { - "account": "user", - "password": "5f4dcc3b5aa765d61d8327deb882cf99" - } - ], - "server": [ - { - "name": "bungeecord", - "args": [ - "/usr/lib/jvm/java-17-openjdk-amd64/bin/java", - "-Xmx580M", - "-Xms100M", - "-jar", - "waterfall-1.19-510.jar" - ], - "cwd": "/MCS/BungeeCord", - "autoRestart": true, - "push": true, - "logReport": true - }, - { - "name": "lobby", - "args": [ - "java", - "-jar", - "-server", - "-Xmx1000M", - "paper-1.16.5-794.jar" - ], - "cwd": "/MCS/lobby", - "autoRestart": true, - "push": true, - "logReport": true - }, - { - "name": "main", - "args": [ - "java", - "-jar", - "-server", - "-Xmx8000M", - "launcher-airplane.jar" - ], - "cwd": "/MCS", - "autoRestart": true, - "push": true, - "logReport": true - }, - { - "name": "s1", - "args": [ - "java", - "-jar", - "-server", - "-Xmx5000M", - "launcher-airplane.jar" - ], - "cwd": "/MCS/server1", - "autoRestart": true, - "push": true, - "logReport": true - }, - { - "name": "起床战争bungeecord", - "args": [ - "java", - "-jar", - "BB.jar" - ], - "cwd": "/MCS/bed/[25565]BungeeCord", - "autoRestart": true - }, - { - "name": "起床战争looby", - "args": [ - "java", - "-jar", - "paper-1.16.5-794.jar" - ], - "cwd": "/MCS/bed/[25566]Lobby", - "autoRestart": true - }, - { - "name": "起床战争入侵", - "args": [ - "/usr/lib/jvm/java-8-openjdk-amd64/bin/java", - "-jar", - "RQS.jar" - ], - "cwd": "/MCS/bed/[20003]BedWars-入侵", - "autoRestart": true - }, - { - "name": "起床战争蘑菇", - "args": [ - "/usr/lib/jvm/java-8-openjdk-amd64/bin/java", - "-jar", - "PaperSpigot-1.8.8.jar" - ], - "cwd": "/MCS/bed/[10002]BedWarsXP-蘑菇", - "autoRestart": true - } - ], - "mq": { - "enable": true, - "mqurl": "amqp://admin:1625167628%40xcon@xcon.top:5672/", - "queue_name": "log_queue_publisher", - "exchange": "log_exchange_publisher", - "routing_key": "server_log" - }, - "push": { - "feishu": { - "enable": true, - "webhook": "https://open.feishu.cn/open-apis/bot/v2/hook/86f491ba-6c7a-413b-86e6-d72420934bd9" - }, - "wechat":{ - "enable": true, - "webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=5f3fae11-da5c-45a7-8ae9-ceaca2dc1495" - } - }, - "logLevel": "debug" -} \ No newline at end of file diff --git a/test/test.go b/test/test.go deleted file mode 100644 index 78bf89b..0000000 --- a/test/test.go +++ /dev/null @@ -1,111 +0,0 @@ -package main - -import ( - "io" - "log" - "net/http" - "os/exec" - - "github.com/creack/pty" - "github.com/gorilla/websocket" -) - -var upgrader = websocket.Upgrader{ - CheckOrigin: func(r *http.Request) bool { - return true - }, -} - -func main() { - http.HandleFunc("/ws", handleWebSocket) - log.Println("Server started at :8080") - log.Fatal(http.ListenAndServe(":8080", nil)) -} - -func handleWebSocket(w http.ResponseWriter, r *http.Request) { - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Println("Upgrade:", err) - return - } - defer conn.Close() - - // 启动 Minecraft 服务器 - cmd := exec.Command("java", "-jar", "launcher-airplane.jar") - - // 创建伪终端 - ptmx, err := pty.Start(cmd) - if err != nil { - log.Println("Start pty:", err) - return - } - defer func() { _ = ptmx.Close() }() // 最后关闭伪终端 - - // 创建通道用于读取子程序的输出 - outputChan := make(chan string) - - go func() { - defer close(outputChan) - readOutput(ptmx, outputChan) - }() - - // 将子程序的输出发送到 WebSocket 客户端 - go func() { - for output := range outputChan { - if err := conn.WriteMessage(websocket.TextMessage, []byte(output)); err != nil { - log.Println("WriteMessage:", err) - break - } - } - }() - - // 从 WebSocket 客户端读取消息并发送到子程序的标准输入 - for { - _, message, err := conn.ReadMessage() - if err != nil { - log.Println("ReadMessage:", err) - break - } - // 检查是否是发送 Tab 键的命令 - if string(message) == "SEND_TAB" { - _, err := ptmx.Write([]byte{9}) // Tab 键的 ASCII 码是 9 - if err != nil { - log.Println("Write to stdin:", err) - } - } else if string(message) == "READ_INPUT" { - // 读取伪终端当前输入管道内已经存在的内容 - // 注意:伪终端没有单独的输入缓冲区,输入会立即被处理 - // 这里假设你想获取当前输出内容 - if err := conn.WriteMessage(websocket.TextMessage, []byte("Currently no direct way to fetch unsent input. Consider monitoring the terminal buffer.")); err != nil { - log.Println("WriteMessage:", err) - } - } else { - _, err := ptmx.Write(append(message, '\n')) // 确保命令后有换行符 - if err != nil { - log.Println("Write to stdin:", err) - } - } - } - - // 等待子程序结束 - if err := cmd.Wait(); err != nil { - log.Println("Wait:", err) - return - } -} - -func readOutput(reader io.Reader, outputChan chan<- string) { - buf := make([]byte, 1024) - for { - n, err := reader.Read(buf) - if n > 0 { - outputChan <- string(buf[:n]) - } - if err != nil { - if err != io.EOF { - log.Println("Read:", err) - } - break - } - } -}