1
0
mirror of https://github.com/mgerb/ServerStatus synced 2026-01-11 11:42:50 +00:00

3 Commits
0.1.0 ... 0.2.0

Author SHA1 Message Date
217c6c8baa update dependencies - change imports 2018-01-13 12:29:20 -06:00
5a2f81a23a Update readme.md 2017-08-07 23:30:33 -05:00
f8e552caa6 update for felmyst 2017-07-17 19:52:57 -05:00
7 changed files with 33 additions and 44 deletions

View File

@@ -1,33 +1,17 @@
{
"Token": "your_bot_token_id",
"RoomIDList": ["id_1", "id_2", "id_3"],
"RoleToNotify": "@Elysium",
"Token": "your bot token",
"RoomIDList":["room id list goes here"],
"RoleToNotify": "@everyone",
"GameStatus": "current playing game",
"Servers": [
{
"Name": "Elysium PvP",
"Address": "149.202.207.235",
"Port": 8099
},
{
"Name": "Zethkur PvP",
"Address": "151.80.103.221",
"Port": 8093
},
{
"Name": "Anathema PvP",
"Address": "149.202.211.5",
"Port": 8095
},
{
"Name": "Darrowshire PvE",
"Address": "164.132.233.125",
"Port": 8097
},
{
"Name": "Elysium Authentication Server",
"Address": "logon.elysium-project.org",
"Port": 3724
"Name": "Your awesome server",
"Address": "game.server.com",
"Port": 80
}, {
"Name": "Another awesome server",
"Address": "awesome.server.com",
"Port": 8080
}
]
}
}

View File

@@ -1,9 +1,9 @@
package main
import (
"./bot"
"./config"
"./serverstatus"
"github.com/mgerb/serverstatus/bot"
"github.com/mgerb/serverstatus/config"
"github.com/mgerb/serverstatus/serverstatus"
)
// Variables used for command line parameters

View File

@@ -2,13 +2,13 @@ run:
go run ./src/main.go
linux:
go build -o ./dist/ServerStatus-linux ./src/main.go
go build -o ./dist/ServerStatus-linux ./main.go
mac:
GOOS=darwin GOARCH=amd64 go build -o ./dist/ServerStatus-mac ./src/main.go
GOOS=darwin GOARCH=amd64 go build -o ./dist/ServerStatus-mac ./main.go
windows:
GOOS=windows GOARCH=386 go build -o ./dist/ServerStatus-windows.exe ./src/main.go
GOOS=windows GOARCH=386 go build -o ./dist/ServerStatus-windows.exe ./main.go
clean:
rm -rf ./dist
@@ -16,4 +16,4 @@ clean:
copyfiles:
cp config.template.json ./dist/config.json
all: linux mac windows copyfiles
all: linux mac windows copyfiles

View File

@@ -1,10 +1,15 @@
## Server Status
Scans a list of servers checking whether the ports are open or not.
This bot will send a chat notification when the status of a server changes.
This bot will send a chat notification when the status of a server changes (goes on or offline).
I originally made this bot the check if private World of Warcraft servers were up or not.
This bot is actually much more useful than that and can be used for any type of server.
I originally made this bot to check if private World of Warcraft servers were up or not.
It's actually much more useful than that and can be used for most servers.
It has been brought to my attention that this bot currently does not work for Ark servers.
### Note - updated for Felmyst server!
The config template contains IP/Ports for the new Felmyst game and logon servers
## Configuration

View File

@@ -1,13 +1,13 @@
package serverstatus
import (
"../bot"
"../config"
"fmt"
"github.com/anvie/port-scanner"
"github.com/bwmarrin/discordgo"
"log"
"time"
"github.com/anvie/port-scanner"
"github.com/bwmarrin/discordgo"
"github.com/mgerb/serverstatus/bot"
"github.com/mgerb/serverstatus/config"
)
func Start() {
@@ -30,7 +30,7 @@ func scanServers() {
//check if server are in config file
if len(config.Config.Servers) < 1 {
fmt.Println("No servers in config file.")
log.Println("No servers in config file.")
return
}
@@ -39,7 +39,7 @@ func scanServers() {
for index, server := range config.Config.Servers {
prevServerUp := server.Online //set value to previous server status
serverScanner := portscanner.NewPortScanner(server.Address, time.Second*2)
serverScanner := portscanner.NewPortScanner(server.Address, time.Second*2, 1)
serverUp := serverScanner.IsOpen(server.Port) //check if the port is open
if serverUp && serverUp != prevServerUp {