A go written library for the RCON Protocol.
This is a fork from james4k/rcon with the support for go modules and with a rework of the original implementation for better readability.
// Establish a connection.
remoteConsole, err := rcon.Dial("127.0.0.1", "password")
if err != nil {
log.Fatal(err)
}
// Close the connection at the end to free the used resources.
defer remoteConsole.Close()
// Send a command.
requestID, err := remoteConsole.Write("command")
if err != nil {
log.Fatal(err)
}
// Read the response.
response, responseID, err := remoteConsole.Read()
if err != nil {
log.Fatal(err)
}
if requestID != responseID {
log.Fatal("response id doesn't match the request id!")
}
fmt.Println(response)
This lib is licensed under the MIT License.
If you should encounter a bug or a missing feature don't hesitate to open an issue or even submit a pull-request.
Special thx to nhh and dnltinney for the great help debugging this lib.