live-player-map

command module
v0.0.0-...-569dfb6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2017 License: MIT Imports: 8 Imported by: 0

README

Live Player Map

Online map example

This little program will provide a simple API to return all latitude/longitude locations of currently online players on a game realm (designed for use with WoW private servers). No IP/account references are sent from the API to the client, just coordinates. Additionally supplied is an index.html file to display these locations on a map, given the user supplies his or her own Mapbox API credentials.

To prevent abuse, it will check every minute to update its data, not on each GET request. There are no data stores, but instead caches the data in memory as it is assumed the program will be left running continuously. If used on a very large server with thousands of users needing to be queried frequently, a state service like MongoDB could easily be implemented, but it seems unnecessary. With the ability to query 150 IPs per minute, and with caching, it should keep up relatively well.

Requirements

  1. Golang 1.x (built on 1.9)
  2. An MySQL account table with online accounts (real or fake). TrinityCore/MaNGOS/OregonCore, etc. Literally could be used for anything with online account tables with IP addresses in them, not just WoW servers.

Configuration

  1. Rename config.go.dist to config.go
  2. Edit newly renamed config.go file to set its MySQL credentials to the game server you're querying online accounts for.
  3. (Optional) To use an example map, edit the index.html file and change the Mapbox credentials to your own. Change localhost:8080 to a new URL if you are running the Go program from a different location than localhost.

Usage

  1. Run go get in the Terminal/Command Prompt inside the program directory.
  2. Run go build && ./live-player-map in the Terminal (go build && ./live-player-map.exe for Windows)
  3. Run index.html in the browser with updated credentials to view data.

Notes

This program utilizes the free ip-api API to lookup IP address information. Due to its limitation of 150 requests per minute, we have an internal counter to not exceed that threshold, and once hit, waits 1 minute before resuming.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL