GithubHelp home page GithubHelp logo

ctftime.org's Introduction

ctftime.org

Meta repository for CTFTime.org issues etc.

Use feedback form if you need to contact admins directly or fix some data. If you're CTF organizer and want your event to be listed at CTFtime.org — use this form.

If you see some technical issue / have a suggestion / want to discuss something publically — post an issue here.

About | FAQ | CTFs | Calendar | Team ratings

ctftime.org's People

Contributors

kyprizel 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

git04112019

ctftime.org's Issues

Rating formula [question]

Hi,

First of all - thanks guys for CTFtime.org, it's great idea to aggregate all CTF-related things in one place. Taking a part in CTFs is one of the best way to learn new things.

I've got a question about rating formula. I've created simple Python script to calculate points taken in CTF for CTFtime overall ranking. However, results returned from this script are quite different from points showed on CTFtime page.

This is my script:

#!/usr/bin/python
#
# CTF event points -> CTFtime.org ranking points calculator
# Rating formula see: https://ctftime.org/rating-formula/
#
#
# Calculates team's points from CTF for CTFtime.org overall ranking
#


def calculate():
    rating = 0.0

    points_coef = float(team_points) / best_points
    place_coef = float(1) / team_place

    if points_coef > 0:
        rating = ((points_coef + place_coef) * weight) / (1 + float(team_place)/total_teams)

    return rating

if __name__ == '__main__':

    team_place = int(raw_input("your team place in CTF: "))
    team_points = int(raw_input("earned CTF points: "))
    total_teams = int(raw_input("teams with any points (more than 0) in CTF: "))
    best_points = int(raw_input("winner team points: "))
    weight = int(raw_input("CTF event rating weight (by CTFtime.org): "))

    print "\n### Your team earned {0:.4f} points in this CTF, congrats! ###"\
        .format(calculate())

And this is sample output (calculated rating points from Boston Key Party 2015 - https://ctftime.org/event/163 - yeah, I know, my points are totally hopeless, but I'm a total beginner and I'm playing alone... ):

your team place in CTF: 285
earned CTF points: 170
teams with any points (more than 0) in CTF: 822
winner team points: 6445
CTF event rating weight (by CTFtime.org): 60

### Your team earned 1.3315 points in this CTF, congrats! ###

On my team page there are 1,793 added points after Boston Key Party 2015.

How can I apply total_team_ranking in my script? Is this causing this difference? I'd be grateful for help.

If this issue is not appropriate here, please close/remove it :) I just didn't know where and who could I ask for this. Thank you.

New member authorization didnt work

had a request from a teammate that when I tried to approve, I got the error: "Membership requests processing error"

I gave him the team hash so he could join that way, but it'd be good to double check the other process too.

API /teams/ 502

spx@local ~/tmp> curl "https://ctftime.org/api/v1/teams/"

<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx</center>
</body>
</html>

Impossible to comment on CTFs

screen shot 2017-02-15 at 4 06 57 pm

The issue happens 100% of the time to me. Ways to reproduce the issue:

  • Click on a CTF
  • Type comment
  • Click 'send'

In case the issue is inconsistently reproducible on other profiles, my user id is 14986

Remove a member from the team

I wish if there is a way to remove members from the team, you might have accepted the people by mistakenly or if the member no longer fits in the team

provide additional means of authentication

As likely all users of ctftime are security nerds, you must understand that a lot of your users are uncomfortable with sharing their google/github/twitter/etc. details with ctftime.

It would be great if you added means of authentication that do not expose data or even grant you privileges to the respective accounts.

Twitter announces

Should we announce events to CTFtime twitter? I think it'll be too annoying. Am I wrong?

Feature request: "Looking for team/players"

A lot of CTF players come to CTFTime.org looking for events. Some of them are also looking for teams. And sometimes the newly formed teams are looking for players.

CTFTime.org would be a good place to put an "open position/looking for position" system that would allow:

  • players to post information that they are looking for a team
  • teams to post information that they are looking for players

This might help accelerate the scene's growth.

Minor typos on competition page

Hello, I've spotted some minor typos on competition page (e.g. this one)

Typos are marked bold and possible corrections are marked italic:

  1. An VolgaCTF Quals event (A) - however, it depends on the first letter of the event's title
  2. Offical URL (Official)
  3. This events weight (event's)

can't add team alias?

MIBH has been playing under slight variations of our team name for kicks (and also because we can't decide on a good acronym) but I can't add the latest name. While I originally entered it into ctftime as "Magic Inuits Bringing Horses", we had a problem with our plaid registration and ended up playing as "MagicInuitsBringingHorses". When I try to add that alternate spelling, it says: "Team with such name already exists". Is that because the plaid results are already back and that team was automatically created? Sorry for not getting this in sooner if so.

Event tasks and writeups

To collect writeups we need per event tasks information. Most of the CTF organizers don't add it to CTFtime (and I understand them).

Should we allow users (not organizers) to add tasks information by theirself?

May be we should drop this feature and send people to http://github.com/ctfs/ ?

CTF announcment time vs rating

I may sound like a broken record (since I've already suggested this last year), but I would like again to discuss the issue of late CTF announcements.

Ideally, a ranked CTF should be announced in a time that gives teams time to allocate time/resources for it. Personally I think 2 weeks is OKish for that purpose, 4 weeks even better.

If a CTF is announced later than 2 weeks before, it should have rank 0 (i.e. not be ranked).

Rationale:
There were a couple of times when there were ranked CTFs showing up e.g. 24h before (the recent WCTF being a best example of that) or even after they started (I remember one such case in 2013-2014). Some teams didn't participate because they didn't notice in time. Other couldn't register because when they noticed, the registration was already closed (not all CTFs keep registration open after the start).
This leads to bad situations where the ranking is influenced by the frequency of hitting F5 on CTFTime.org (because even RSS is sometimes laggy) and not CTF skill as it probably should be.

Feature request: graph team ranking over time

I check ctftime sometime after an event is over and eventually I see that the scores have been fed into the system. I check my team's page and see the current ranking. I don't remember what the ranking was before the recent event, so I'm not sure if we went up or down on the rankings.

It would be cool to have a graph showing the ranking of a given team over the course of the year, making it clear how a good event improved your ranking or a bad event performance dropped you down.

As an added bonus, a graph of any of the teams that were in the top-10 at any point of the year (x = time, y = ctftime rating points), similar to how some CTFs graph out the teams, would be cool to see.

type on profile page

"Looking for the team"

->

"Looking for a team"

Also, if someone checks that box, maybe we should have the following text appear:

"If you're looking to join a team, please make sure you put some tags with your interests/skills in here so others will be able to learn about you. This will increase the chance you get invited to a team!"

Scoring algorithm change

placeholder to start a discussion about the scoring algorithm and whether other approaches might work better. Could be implemented in a "beta" mode initially to tested. Heck, with the API, someone else could (should) try a few alternate algorithms out and post the results here so they could be discussed.

2017 Rating

Hi,
now, when people say that voting-based rating schema does not work - let's discuss how can we fix it.

Should we use ELO-like system? Something else?

Feature Request: sitemap

After seeing two other comments that are mostly due to people not knowing features exist (one of which I knew about, the other of which was new to me too), I think a sitemap would help people find things on the site better. Even better, create an automated site map, but also have a reorganization of the menu up top to allow people to find things they want from there. I'm probably missing a lot, but here's a quick stab at what that might look like:

  • EVENTS
    • Upcoming events
    • Archives
    • Calendar
  • TEAMS
    • Current List
    • Maybe archived years here? Dunno
  • CTF PLAYERS
    • New to CTF
    • Find a team (dating)
    • Upcoming Events
    • Other resources
  • CTF ORGANIZERS
    • For-Organizers (maybe update to have a new 'submit ctf form instead of requiring it be done via email)
    • API
    • Json-scoreboard-feed
    • Code (sample code in various languages for interacting with ctftime, maybe)
  • SITE INFO
    • FAQ
    • About
    • Contact Us
    • Issues (link to github)
    • Rating Information
  • Signin/Profile

Hole in the scoreboard

If you look at the scoreboard on https://ctftime.org/event/444 (which had one flag worth negative points), there is a hole between 364th and 451st place, which is quite weird.
Maybe remove all teams with points <=0 altogether, instead of just removing teams with 0 points ?

Rating for task authors

Some people do create great tasks, can we recognize them? May be add some rating for best task authors?

Or golden-flags.com will do it by themself and we don't need it at CTFtime?

Better Support for Team Merging

Currently, team merges are done by submitting feedback through the contact us form and the merge has to be done manually by an admin.

It would be great if the admin of multiple teams could merge them through an interface so it reduces load on the admin and would really streamline the processes and handling the restrictions of CTF registrations.

adding event tasks fails

Since about 1 week, adding event tasks fails for every CTF (finished ones, some recently, some a long time ago). It's normal to get 404 error when adding tasks for future or running CTF but it's not normal to get error 500 for past event.

For example I get this error when trying to reach https://ctftime.org/tasks/451/new/ :

Task and writeup management

I want to add some comfortable way to publish writeups at CTFtime not only at teams blogs.
Why?

  1. unfortunately, teams blogs do not live for long :( and when you need to see some events solution - writeup is not accessible any more.
  2. it helps to store data more structured, navigate on it and search
  3. CTFtime can be good place for newcommers to start studying reading writeups

If you have anything to say here - please do it.

Now writeup submission system far from ideal (no images, no attachments). Not sure how to make it usable.

The contest organizer cannot change the duration.

It is impossible to modify the contest duration even by the contest organizer.

We can set the duration of new contest. (at https://ctftime.org/event/new https://ctftime.org/event/mail )
However, the duration of created event is sometimes not correct. For example, we organized three contests and we input correct duration in UTC(at least two contests), but all of the first duration has an error.

Therefore, it is good that the contest organizer can change the duration at https://ctftime.org/ctf/{id}/edit/.

Facebook oauth fails

Facebook login fails possibly because the response from facebook changed recently.

CTFtime.org as team authentication source

Managing team names and aliases, creating teams after the CTF, merging existing teams - it's a routine process, but it takes a lot of time. What if we use CTFtime as an authentication source during event registration.

Personally, I don't like the idea of turning CTFtime to an OAUTH provider, so, may be we can issue per-user (per-team?) auth token and save them in event registration info, then automatically merge team by auth token, not just by team names?

Typo on website

Not sure if you'd like to make this the place to report typos on the website as well or not, but here's one easy one:

On /api/ :

Evet results per year

Should be

Event results per year

Public API or DB dumps

A nice feature would be some way to programatically access ctftime.org data without web scraping. Preferably a public API to retrieve team/event data, or if that's not possible then periodic database dumps of the public data.

Voting for writeups from a task page

Now it's impossible to vote for writeup if it's hosted on another site, like most writeups do. May be it would be better to add a column with "user_rating" (where one could vote for the writeup) to the table with writeups on the task page?

[Enhancement] Percentile or total ranking in "Place" column

On team profiles it would be nice to see either what percentile the team placed in for the listed events, or how many teams participated overall. This will give better immediate context to their ranking instead of having to go to the event, find the number of participants, and do the math for each event.

Team merging process

Should it be automatic? What rules should be applied to this process?

  1. Not later than 2 weeks after the last event team participated
  2. Teams participated in same events can't be merged
  3. No merges for past-years (history is history, we don't merge MSLC, LeetMore and SmokedChicken)

Any suggestions?

Weight voting timeout should be set to 1 week after the CTF scoreboard has been made available

I've just taken part in UCSB iCTF 2016 but I cannot vote yet because the scoreboard is not available and CTFtime cannot verify that I've actually taken part in that CTF.
Additionally, if the organizers don't publish the results until the 11th of March, I won't be able to vote at all because the time to vote will have ended by then.

As of now, from what I can see, only people in the top50 for 2016 are able to vote for such CTFs.

Proposition: extend the voting time to one week after the results are published.
If the results are not published for a certain time (one month?), set the weight to 0 (to prevent bad CTF organizers withholding the results for ~6 months and then voting themselves in the voting time window, when everyone else has forgotten about the competition).

always print timezones with times

When you're logged in, times are given in your default time zone. When you're not logged in though, times are given in UTC, but they do not say that in most places. This can be even more confusing if you don't realize that you're not logged in.

I think that times should always include the time zone, even if you are not logged in.

Hard to leave team ~

i reading how to leave from a team , someone say you can leave but *ctftime.org processing manually for leaving a team , then i send my email for leaving team but untill 6 month still no response

and also i touch them on twitter also and this github repository can you hear that ?

CTF max rating should be based off of the previous event rather than the previous year

According to this comment #40 (comment) a ctf will have a max rating of 25 points if it did not run in the last calendar year. This affected the recent UCSB iCTF. I think that this should probably be changed. It makes more sense to base it off the previous event, even if there wasn't one last year. Maybe there should be some max time between events before resetting the weight.

What if a major CTF has their event in December one year, then waits to January in the next, does it make sense to reset their points? I don't think the rating shouldn't be reset just because the calendar year doesn't match up. What happens if an event is run twice in one year?

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.