Git Product home page Git Product logo

savage-metaserver's Introduction

savage-metaserver's People

Contributors

biggeruniverse avatar stfwn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

savage-metaserver's Issues

Clan Enrollment

  • Invite player to clan /v1/clan/invite
  • Accept invitation to clan /v1/clan/accept-invite
  • List of open invitations for a clan (/v1/clan/invites)
  • List of open invitations for a player (/v1/user/clan-invites)

Big: registering server throws 500 Internal server error

example reg post:

{
    "host_name": "108.65.103.19",
    "display_name": "Bigs Lab",
    "description": "Test Server Please Ignore",
    "game_type": "RTSS",
    "max_player_count": 64
}

https://api.community-server.info/metaserver/v1/server/register

User proof

Need a mechanic so that a user can prove to a third party that they are registered with the meta server.

Stats tracking

I'm thinking the following:

  1. A game server calls POST /v1/match/create without any additional info. This creates a Match row in the database with a globally unique id and an autofilled property started. The game server receives, in response: {'id': <some_int>, 'token': <some_secret_token>}.
  2. Whenever it wants, the game server calls POST /v1/match/update with the id, secret token and the info about the match we want to track (TBD). These updates will be stored in a separate table MatchUpdate, which Match has a one-to-many relationship with. The final call to /v1/match/update will include something like {'ended': True}.
    • The ended event allows the Metaserver to process awards, and closes the Match to further MatchUpdates. There will be a cronjob that periodically cleans up old matches that were never marked as closed.
    • The separation between a Match and a MatchUpdate allows a reconstruction of each match. The granularity of the reconstruction depends on the frequency of updates.
    • Updates that are submitted to this route should contain the complete numbers up to that point in the match, not the difference since the last update. E.g. a field 'team_1_resources_mined' should be monotonically increasing with each next update -- the game server doesn't report how many resources were mined since the last update, but since the beginning of the match.
  3. A route GET /v1/match/by-id returns the Match object and all of its MatchUpdates (in chronological order).
  4. A route GET /v1/match/by-server-id returns all Match objects with their MatchUpdates in pages of 50 matches or so.

Tracking players stats?

I've noticed issue 19 about stats tracking, but it seems to focus on tracking match stats (which is super useful too!).

Will the metaserver support player stats ? Is it something you would accept PR's for, tweaking the database to support it on a per-user basis?

  • Madmod :-)

Skins

For users, for clans, etc.

Clan icons

  • Dream up system for it
  • Implement that

Transfer ownership unintuitive

clan/update-rank used as "ownership transfer" doesn't work intuitively- it does not demote the person transferring ownership to admin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.