Git Product home page Git Product logo

rainbow-six-siege-player-stats-api's Introduction

Rainbow Six Siege Player Stats API

This API queries the Rainbow Six Siege stats from any given player by name or uplayID. Multiple and mixed requests at one are also possible.

Installation:

  1. Clone this whole repo (git clone).
  2. Upload it to your webserver to any location.
  3. In the config.php change the EMAIL and the PASSWORD fields to an uplay account of your choice.
  4. For your security you will need to set an appcode in config.php file and append GET parameter appcode to all request (WARNING: Obviously you should not use spaces).
  5. Give the webserver permissions to edit the api_ticket file, usually 660 or 777 (this one ONLY for tests).
  6. Finished!

Usage:

getUser.php:

With this API you can query multiple users at one and it does not matter if you use their names, uplayID's or both (GET requests). You can also specify platform (one for all players) and progression if you want to see extra info like level or xp. Obviously for uplayID you shouldn't specify platform.

Here are some examples:

https://website.com/api/r6/getUser.php?id=735e4640-32d3-484f-ba56-f80030d35337&appcode=test
https://website.com/api/r6/getUser.php?name=AE_SeemsLegit&appcode=test
https://website.com/api/r6/getUser.php?id=735e4640-32d3-484f-ba56-f80030d35337&name=AE_SeemsLegit&appcode=test
https://website.com/api/r6/getUser.php?name=AE_SeemsLegit&platform=uplay&appcode=test
https://website.com/api/r6/getUser.php?id=735e4640-32d3-484f-ba56-f80030d35337&progression=true&platform=uplay&appcode=test

As you can see it does not matter if you give the api a name or uplay id. It's just important that you never forget to put the appcode into you request.

Optional Arguments:

&season=SEASON (Default -1)
&region=REGION (Default emea)
&platform=PLATFORM (Default uplay)
&progression=PROGRESSION (Default true)

Here are the example responses from the GET requests mentioned above:

{
   "players":{
      "735e4640-32d3-484f-ba56-f80030d35337":{
         "board_id":"pvp_ranked",
         "past_seasons_abandons":0,
         "update_time":"2018-04-08T22:47:21.650000+00:00",
         "skill_mean":17.7856229582,
         "abandons":2,
         "season":9,
         "region":"emea",
         "profile_id":"735e4640-32d3-484f-ba56-f80030d35337",
         "past_seasons_losses":10,
         "max_mmr":2621.04601985,
         "mmr":1778.56229582,
         "wins":77,
         "skill_stdev":3.9493432727,
         "rank":5,
         "losses":78,
         "next_rank_mmr":1800,
         "past_seasons_wins":10,
         "previous_rank_mmr":1700,
         "max_rank":8,
         "nickname":"AE_BadKey",
         "platform":"uplay"
      }
   }
}
{
   "players":{
      "a39c7ad5-3282-467c-bc85-f65b0e61cde4":{
         "board_id":"pvp_ranked",
         "past_seasons_abandons":0,
         "update_time":"2018-04-08T16:05:13.150000+00:00",
         "skill_mean":26.2664770288,
         "abandons":0,
         "season":9,
         "region":"emea",
         "profile_id":"a39c7ad5-3282-467c-bc85-f65b0e61cde4",
         "past_seasons_losses":19,
         "max_mmr":2839.11421816,
         "mmr":2626.64770288,
         "wins":34,
         "skill_stdev":5.28927628982,
         "rank":13,
         "losses":31,
         "next_rank_mmr":2700,
         "past_seasons_wins":8,
         "previous_rank_mmr":2500,
         "max_rank":14,
         "nickname":"AE_SeemsLegit",
         "platform":"uplay"
      }
   }
}
{
   "players":{
      "735e4640-32d3-484f-ba56-f80030d35337":{
         "board_id":"pvp_ranked",
         "past_seasons_abandons":0,
         "update_time":"2018-04-08T22:47:21.650000+00:00",
         "skill_mean":17.7856229582,
         "abandons":2,
         "season":9,
         "region":"emea",
         "profile_id":"735e4640-32d3-484f-ba56-f80030d35337",
         "past_seasons_losses":10,
         "max_mmr":2621.04601985,
         "mmr":1778.56229582,
         "wins":77,
         "skill_stdev":3.9493432727,
         "rank":5,
         "losses":78,
         "next_rank_mmr":1800,
         "past_seasons_wins":10,
         "previous_rank_mmr":1700,
         "max_rank":8,
         "nickname":"AE_BadKey",
         "platform":"uplay"
      },
      "a39c7ad5-3282-467c-bc85-f65b0e61cde4":{
         "board_id":"pvp_ranked",
         "past_seasons_abandons":0,
         "update_time":"2018-04-08T16:05:13.150000+00:00",
         "skill_mean":26.2664770288,
         "abandons":0,
         "season":9,
         "region":"emea",
         "profile_id":"a39c7ad5-3282-467c-bc85-f65b0e61cde4",
         "past_seasons_losses":19,
         "max_mmr":2839.11421816,
         "mmr":2626.64770288,
         "wins":34,
         "skill_stdev":5.28927628982,
         "rank":13,
         "losses":31,
         "next_rank_mmr":2700,
         "past_seasons_wins":8,
         "previous_rank_mmr":2500,
         "max_rank":14,
         "nickname":"AE_SeemsLegit",
         "platform":"uplay"
      }
   }
}
{
   "players":{
      "a39c7ad5-3282-467c-bc85-f65b0e61cde4":{
         "board_id":"pvp_ranked",
         "past_seasons_abandons":0,
         "update_time":"2018-06-26T06:34:00.118000+00:00",
         "skill_mean":26.2304694258,
         "abandons":0,
         "season":10,
         "region":"emea",
         "profile_id":"a39c7ad5-3282-467c-bc85-f65b0e61cde4",
         "past_seasons_losses":50,
         "max_mmr":2739.38864066,
         "mmr":2623.04694258,
         "wins":2,
         "skill_stdev":8.08017479399,
         "rank":0,
         "losses":1,
         "next_rank_mmr":0,
         "past_seasons_wins":42,
         "previous_rank_mmr":0,
         "max_rank":0,
         "nickname":"AE_SeemsLegit",
         "platform":"uplay"
      }
   }
}
{
   "players":{
      "735e4640-32d3-484f-ba56-f80030d35337":{
         "xp":3915,
         "profile_id":"735e4640-32d3-484f-ba56-f80030d35337",
         "lootbox_probability":1990,
         "level":93,
         "board_id":"pvp_ranked",
         "past_seasons_abandons":2,
         "update_time":"2018-06-26T06:34:13.202000+00:00",
         "skill_mean":26.3109675568,
         "abandons":0,
         "season":10,
         "region":"emea",
         "past_seasons_losses":88,
         "max_mmr":2861.87755106,
         "mmr":2631.09675568,
         "wins":3,
         "skill_stdev":7.91688219112,
         "rank":0,
         "losses":2,
         "next_rank_mmr":0,
         "past_seasons_wins":87,
         "previous_rank_mmr":0,
         "max_rank":0,
         "nickname":"AE_BadKey",
         "platform":"uplay"
      }
   }
}

getSmallUser.php:

This function only returns the uplayID, the uplay name of any given player(s) (by uid or name) and the relative platforms.

Optional Arguments:

&platform=PLATFORM (Default uplay)

Examples:

https://website.com/api/r6/getSmallUser.php?name=Sidelux00,Sir.Avocado&appcode=test
https://website.com/api/r6/getSmallUser.php?name=Sidelux00&appcode=test
https://website.com/api/r6/getSmallUser.php?id=40078dc7-5f24-49a6-ad27-070c9c528f6c&appcode=test

Responses:

{
   "40078dc7-5f24-49a6-ad27-070c9c528f6c":{
       "profile_id":"40078dc7-5f24-49a6-ad27-070c9c528f6c",
       "nickname":"Sidelux00"
   },
   "072f0150-f606-4ae7-9041-b17aa5a2b929":{
       "profile_id":"072f0150-f606-4ae7-9041-b17aa5a2b929",
       "nickname":"Sir.Avocado"
   }
}
{
   "40078dc7-5f24-49a6-ad27-070c9c528f6c":{
       "profile_id":"40078dc7-5f24-49a6-ad27-070c9c528f6c",
       "nickname":"Sidelux00"
   }
}
{
   "072f0150-f606-4ae7-9041-b17aa5a2b929":{
       "profile_id":"072f0150-f606-4ae7-9041-b17aa5a2b929",
       "nickname":"Sir.Avocado"
   }
}

getStats.php:

With this PHP file you can query the stats of any given player by name or uplay id. Whitch stats are returned is definded in the config.php. All stats that can be returned: https://gist.github.com/sidelux/c2724e64acb7e1b8921c11572800f8d4

Examples:

https://website.com/api/r6/getStats.php?id=a39c7ad5-3282-467c-bc85-f65b0e61cde4&appcode=test

Optional Arguments:

&stats=STATS (e.g. casualpvp_death,casualpvp_kills)
&platform=PLATFORM (Default uplay)

Responses:

{
   "players":{
      "a39c7ad5-3282-467c-bc85-f65b0e61cde4":{
         "casualpvp_matchwon":126,
         "casualpvp_kills":723,
         "casualpvp_death":773,
         "casualpvp_matchlost":130,
         "casualpvp_matchplayed":256,
         "casualpvp_timeplayed":204662,
         "nickname":"AE_SeemsLegit",
         "platform":"uplay"
      }
   }
}

getOperators.php:

With this PHP file you can query the stats of all operators by giving player name or player uplay id.

Examples:

https://website.com/api/r6/getOperators.php?id=a39c7ad5-3282-467c-bc85-f65b0e61cde4&appcode=test

Optional Arguments:

&platform=PLATFORM (Default uplay)

Responses (stripped for readability):

{
   "players":{
      "a39c7ad5-3282-467c-bc85-f65b0e61cde4":{
         "capitao":{
            "operatorpvp_roundlost":0,
            "operatorpvp_death":0,
            "operatorpvp_roundwon":0,
            "operatorpvp_kills":0,
            "operatorpvp_timeplayed":0,
            "operatorpvp_capitao_lethaldartkills":0,
            "operatorpve_capitao_lethaldartkills":0
         },
         "zofia":{
            "operatorpvp_roundlost":14,
            "operatorpvp_death":22,
            "operatorpvp_roundwon":16,
            "operatorpvp_kills":18,
            "operatorpvp_timeplayed":5615,
            "operatorpvp_concussiongrenade_detonate":52,
            "operatorpve_concussiongrenade_detonate":0
         },
         ...
         "profile_id":"a39c7ad5-3282-467c-bc85-f65b0e61cde4",
         "nickname":"AE_SeemsLegit",
         "platform":"uplay"
      }
   },
   "operators":{
      "capitao":{
         "images":{
            "badge":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/badge-capitao.6603e417.png",
            "figure":{
               "small":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/small-capitao.31c21fd0.png",
               "large":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/large-capitao.984e75b7.png"
            },
            "mask":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/mask-capitao.f56d66af.png"
         },
         "category":"atk",
         "index":"2:8",
         "id":"capitao",
         "organisation":"BOPE",
         "name":"Capit\u00e3o"
      },
      "zofia":{
         "images":{
            "badge":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/badge-zofia.2a892bf5.png",
            "figure":{
               "small":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/small-zofia.28fa7ba7.png",
               "large":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/large-zofia.f9f7568b.png"
            },
            "mask":"https:\/\/ubistatic-a.akamaihd.net\/0058\/prod\/assets\/images\/mask-zofia.29e5102f.png"
         },
         "category":"atk",
         "index":"3:C",
         "id":"zofia",
         "organisation":"GROM",
         "name":"Zofia"
      },
      ...
   }
}

Error Handling:

If a function encounter errors like "Too many calls", api add an "error" object in json that contains detailed response from ubisoft servers.

Example if there are too many calls:

{
   "players":[

   ],
   "error":{
      "message":"Too many calls per profile id: 6eb1a73b-e20b-4bcf-92c3-26f046f8a302",
      "errorCode":1100,
      "httpCode":429,
      "errorContext":"Profiles Client Legacy",
      "moreInfo":"6/27/2018 11:10:52 AM",
      "transactionTime":"2018-06-27T10:55:56.8938985Z",
      "transactionId":"a7056a14-faee-4c02-8e13-38ed85399eb2"
   }
}

Example if player not found:

{
   "players":[

   ],
   "error":{
      "message":"User not found!"
   }
}

Todo:

  • Add config.php - Done
  • Kills and deaths - Done
  • Operator stats - Done
  • User progression stats - Done
  • Detailed operators stats - Done

Thanks to Seems2Legit, _sidelux and special thanks to K4CZP3R. They made this whole project even possible.

Updated: 12.07.2019 10:00 UTC

rainbow-six-siege-player-stats-api's People

Contributors

austinleath avatar barcelona avatar ecortesenv avatar giggitybyte avatar mbamb avatar pheromir avatar seems2legit avatar sidelux avatar swiftcoda avatar xxlivoxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rainbow-six-siege-player-stats-api's Issues

Add kills and operator stats.

First off, I'd like to thank you for working on this. It's nice to be able to host this on my own machine and not worry about rate limits.

I don't know if it's on your roadmap already, but the addition of kills and operator stats for both casual and ranked would be really nice to have.

Update README.md

(New parameters, results changed for getUser.php & getStats.php)

WAMP server

hey,
i download your project and uploaded to my local server environment (i use wamp). the problem
when i want to display my user info it come with a issue.

URL

localhost/getUser.php?name=ALC0N.&platform=uplay&appcode=tester01

Result

{"players":{"ALC0N.":{"nickname":"ALC0N.","error":{"message":"User not found!"}}}}

But when i upload to my online hosting space it work.

i'm asking u is there any solution to the my local server environment.

Handle "Too many calls" error

Today i have received an error like this:

{
   "message":"Too many calls per profile id: 40078dc7-5f24-49a6-ad27-070c9c528f6c",
   "errorCode":1100,
   "httpCode":429,
   "errorContext":"Profiles Client Legacy",
   "moreInfo":"6/27/2018 10:32:45 AM",
   "transactionTime":"2018-06-27T10:25:02.7549934Z",
   "transactionId":"857682de-a880-4bdf-ac67-f203270908ae"
}

But with api returns only:

{ 
   players: []
}

There is a way to handle errors on frontend? Like add error messages maybe...

{ 
   players: [], 
   "error_message":  "Too many calls per profile id: 40078dc7-5f24-49a6-ad27-070c9c528f6c"
}

Missing operator specific stats

In the link with all of the different possible stats, it's missing stats for many operators. Would it be possible for that to be updated?

Help

Hey, I am a little confused about the installation. Any help?

UBI url error

Hello, I'm using your Ubi API , but it seems to have a problem when login is called, i get an error 404 File or diretory not found.
The ressource you are looking for might have been removed, had its name changed, or its temporarily unavailable.

it seems the URL is no longer good and that Ubisoft is maybe changed this url can you please help me to correct this problem.

Ubi API returns 400

Are there any online resources on how to use Ubisoft's API?

Because I tried implementing your code in Java and started with the login functionality, but the server always returns 400 (Bad Request). You can check out my code over at https://github.com/scrouthtv/R6StatsAPI.

I used your method to contact Ubi Servers and login (had to change something with the content length, but that should work). Do you have an idea, why your code works for me, but my implementation doesn't?

Thanks in advance.

Default progression not working

Hi,
when i set default-progression = true in config file, progression fields not show, i only can add GET param to make it works.

Thanks

{error:true} ?

Yeah, i have set up everything everywhere and now i got this page when i try to do a request. Nothing in error.log
{error:true}

Rate limits?

There are some sorts of rate limits for account?

Added support for $platform

I have added support for platforms specification, perfectly backward compatible (99%).
If you are interested, how can you send the new code?
I hope to help someone with that improvement.

Example:
http://website.net/api/getStats.php?name=yyy&platform=psn&appcode=xxx

Thanks for reading :)

getUser does not work with spaced nicknames

hello, as the title suggest: php version doesn't work with spaced nicknames.

for example;
nickname: oa1907 (my psn account and it has no space)
url: getUser.php?appcode=test&platform=psn&name=oa1907
WORKS WELL

BUT
nickname: Search Meh Up
url: getUser.php?appcode=test&platform=xbl&name=SEARCH%20MEH%20UP
DOES NOT WORK!
"error":{"message":"User not found!"}}}}

Some stats not displayed

Hi, i have a config file:

<?php

$config = array(
	"appcode" => "xxx",
	"ubi-email" => "xxx",
	"ubi-password" => "xxx",
	"default-region" => "emea",
	"default-stats" => "progression_level,progression_xp,rankedpvp_matchwon,rankedpvp_matchlost,rankedpvp_matchwlratio,rankedpvp_kills,rankedpvp_death,rankedpvp_kdratio,rankedpvp_timeplayed,casualpvp_death,casualpvp_kdratio,casualpvp_kills,casualpvp_matchlost,casualpvp_matchplayed,casualpvp_matchwlratio,casualpvp_matchwon,casualpvp_timeplayed,generalpve_revive,generalpvp_suicide,generalpvp_reinforcementdeploy,generalpvp_barricadedeployed,generalpvp_bulletfired,generalpvp_bullethit,generalpvp_meleekills,generalpvp_penetrationkills,weapontypepvp_killassists"
	// all stats: https://gist.github.com/LaxisB/3924cfdc35562b719d1c891cdb895366
);

?>

With lots of stats, but when i call your api i show only a part of that stats:

{  
   "players":{  
      "40078dc7-5f24-49a6-ad27-070c9c528f6c":{  
         "casualpvp_matchwon":225,
         "generalpvp_reinforcementdeploy":4735,
         "generalpvp_barricadedeployed":2379,
         "rankedpvp_timeplayed":771465,
         "generalpvp_penetrationkills":247,
         "rankedpvp_death":2842,
         "generalpvp_bullethit":33688,
         "generalpvp_suicide":9,
         "generalpvp_meleekills":8,
         "generalpvp_bulletfired":73879,
         "casualpvp_matchplayed":513,
         "casualpvp_death":1598,
         "generalpve_revive":17,
         "casualpvp_kills":1067,
         "rankedpvp_matchlost":320,
         "casualpvp_matchlost":288,
         "rankedpvp_matchwon":307,
         "casualpvp_timeplayed":417366,
         "rankedpvp_kills":1923,
         "nickname":"Sidelux00"
      }
   }
}

I have made a mistake or there are some problems?

GET Rank API call gives 404 error

Upon making this GET request with all below headers:

66fcdb38-e7c2-45dd-a1c4-acbd7086d00f spaceId is after basic auth Session call, which is owner here.
profile_ids is the otherProfile profileId. Am I do it correct ?

https://public-ubiservices.ubi.com/v1/spaces/66fcdb38-e7c2-45dd-a1c4-acbd7086d00f/sandboxes/OSBOR_PC_LNCH_A/r6karma/players?board_id=pvp_ranked&season_id=-1&profile_ids=b5072e90-ad85-4bd8-9d18-e0bfe5f2aba5,&region_id=apac

I get following error:

{
    "errorCode": 1003,
    "message": "Resource 'https://public-ubiservices.ubi.com/v1/spaces/66fcdb38-e7c2-45dd-a1c4-acbd7086d00f/sandboxes/OSBOR_PC_LNCH_A/r6karma/players' not found.",
    "httpCode": 404,
    "errorContext": "UbiServices.Gateway",
    "moreInfo": "A link to more information will be coming soon. Please contact UbiServices for more support.",
    "transactionTime": "2020-08-26T11:19:57Z",
    "transactionId": "17724d77-2a2b-4da0-8cf3-aa2365b3683b"
}

Gist for all stats missing

//All stats: https://gist.github.com/LaxisB/3924cfdc35562b719d1c891cdb895366

The gist no longer exists.

"User not found!" error sometimes when the user does exist.

I have an iOS app using this API. Very often, since the last update to the source code of this project, my app will be unable to get the stats and all that is returned is the JSON structure of { error: { message: "User not found!" } }. However, I can't reproduce this issue by using the API in a browser.

I don't see how it could be an issue in my app because it IS reading the data from the API, but the API is only returning an error message.

But I also don't see how it could be an issue on the API-Wrapper's end because it's just the middleman in getting the data from Ubi and translating it into raw JSON.

Any idea what's up?

Problem with the API

(sorry for my english)

Hello, i tried to make a get request to getOperators.php?name=FeedMeImHunfry7?appcode=testman

but it shows nothing...

Current match infos

(Me again!)
Days ago i notice that with uplay api you can get infos about current playing match in R6, there is a possibility to add it in this api?

Thanks!

getSmallUser.php does not return expected data format

getSmallUser.php return's json format like this -
[
uid{
uid : id
nick : nickname
}
]
but the readme states that the data should be like this -
[
{
uid : id
nick : nickname
}
]
As a result I can't access the array when searched by nickname because uid itself is a variable.

Help me!

Hi, where can i obtain an appcode?

&season= parameter for getStats.php

More of a question than an issue. I'm new to GitHub and don't know how to message the developers. Is there a way to use the season parameter in the URL when making an api request for getStats.php? I'm looking for a way to see the stats of a player from a specific season. In addition, can the value be from 0-17, or 1-18, or what would it be?

New Operator

Hello, can you please add the Maverick and Clash gadget operator key ?
like
capitao : operatorpvp_capitao_lethaldartkills
sledge : operatorpvp_sledge_hammerhole
etc ...
thank you
:D

UBIAPI Login not working

Hello, I'm trying to use your Ubi API , but it seems to have a problem when login is called, i get an error 404 File or diretory not found.
The ressource you are looking for might have been removed, had its name changed, or its temporarily unavailable.

it seems the URL "https://connect.ubi.com/ubiservices/v2/profiles/sessions" is no longer good and that Ubisoft is maybe changed this url can you please help me to correct this problem.
Thank you

Add Level-Info to getUser.php

{
    "player_profiles": [{
        "xp": 5858,
        "profile_id": "09ef2790-ee5a-4909-b9dc-4e4042dbed7d",
        "lootbox_probability": 4150,
        "level": 284
    }]
}

need stats ranked

i trying : &stats=ranked_pvp but is not working
"rankedpvp_matchwon":126,
"rankedpvp_kills":723,
"rankedpvp_death":773,
"rankedlpvp_matchlost":130,
"rankedpvp_matchplayed":256,
"rankedpvp_timeplayed":204662,

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.