GithubHelp home page GithubHelp logo

bughouse's People

Contributors

johndiiorio 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

Watchers

 avatar  avatar  avatar

bughouse's Issues

Add user profile page

User profile page should, at the minimum, display their username (with title if applicable), all three ratings (bullet, blitz, classical), and links to their games. Move route from /profile to /user/username. Potentially add editable fields, such as a bio and country.

Scrollbars visible in Firefox fullscreen mode

User reports that "both scrollbars in fullscreen on FullHD display in last
Firefox under Xubuntu."

There are also a number of UI bugs, including:

  • The "Sign in" and "Reset Password" buttons overlap when the screen size shrinks.
  • The lobby table glitches in Firefox
  • The "empty" slots in the lobby pane could be a better color.

Add leaderboards page

Add a page that displays the highest ranked users on the site in all three categories (bullet, blitz, and classical).

Add player title to all locations

Include a player's title (GM, IM, FM, etc.) wherever a username is displayed and colorized the title. This needs to be done on the game page, the lobby, and the user's profile page.

New Users Are Unable to Register

Having a problem when running this on my local machine. OS - Arch Linux, browser(s) - Vivaldi, Firefox

Server is being hosted on port 3000 of my local machine, and when attempting to make a new account, users are unable to click "register" and the username is never verified.
image

UI update on game end

When the game end, freeze both game boards, all clocks, and route to a permanent game location, i.e. /game/id. Should be viewable and not editable by all users.

Can create games with arbitrary users

It's possible to send arbitrary IDs in the "playerN field of the /games/ POST body.

many of one player

just only me

These games will never finish and thus will simply clog the database.

More crucially, however, it's possibly to trivially determine the IDs of other players; they are given in the data fetched by the /player/<NAME> page.

This means I can target a single (or group of) players, such as here:
all bu one player

By making players 2, 3, and 4 all one player, I can raise my rating without actually playing, as the other player will simply time out.

im beating you

Importantly, the other player cannot join this game to save themselves, since (according to the app) they are already in it. As long as I fill all the spots, I only have to wait 5 minutes to massively amp up my rating, for free.

This requires the ID of three users: a vict

Sample CURL command:

curl 'https://bughousechess.org/api/games' -H 'Host: bughousechess.org' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://bughousechess.org/' -H 'Content-Type: application/json;charset=utf-8' -H 'Cookie: io=HhXxmxR3tCtC7nEMAABc' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data '{"minutes":5,"increment":5,"joinRandom":true,"mode":"Rated","ratingRange":"1250 - 1750","player1":3,"player2":1,"player3":2,"player4":1}'

The important fields here are the playerN fields. Player 1 should be the attacker; players 2 and 4 the victims; and player 3 an ally (witting or no).

If multiple "copies" of one player are present it a game, it does not affect the leaderboard. Therefore, at least 2 high ranked players need to be victimized. Ample mid-ranked players (similar to the attacker's rank) make execution easier.

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.