Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functionality of Brackets #36

Closed
sctf2020 opened this issue Jan 12, 2018 · 12 comments
Closed

Functionality of Brackets #36

sctf2020 opened this issue Jan 12, 2018 · 12 comments

Comments

@sctf2020
Copy link

I sent the devs an email, but I thought it would be proper to open a ticket on the repo as well.

Currently our CTF platform is Mellivora that has been slightly modified to utilize the User Types functionality to only display Challenges based on the User Type. I wonder if HTA has this capability, or if it would be easily implemented. I have very little Ruby experience, otherwise I would do it myself. Any insight is appreciated.

@paullj1
Copy link
Member

paullj1 commented Jan 12, 2018 via email

@paullj1
Copy link
Member

paullj1 commented Jan 15, 2018

Okay, so after spending some time thinking about this, I'm a little concerned that adding this feature may complicate the challenge creation process a little too much. Why not make all challenges available to all users, and then offer hints to the less experienced users to allow them to compete with the more experienced users? Thoughts?

@sctf2020
Copy link
Author

sctf2020 commented Jan 15, 2018 via email

@paullj1
Copy link
Member

paullj1 commented Jan 15, 2018

So the point of the brackets (as is) is to allow you to offer those walkthroughs in chunks (hints) at an optional and configurable cost. That way, if people are able to solve the challenge without them, they're rewarded with more points. Each hint has a configurable number of points that will be deducted either before the challenge is solved (which will affect the players current score), or after the challenge is solved (which affects the value of the solve).

I'm not saying that what you're proposing is invalid, just that it would really complicate the existing design, and that I'm not sure about the best way to implement it. Does that make sense?

@sctf2020
Copy link
Author

sctf2020 commented Jan 15, 2018 via email

@paullj1
Copy link
Member

paullj1 commented Jan 15, 2018

That has definitely been a concern. Current mitigation strategy is to authorize all accounts where this could happen. Latest release (under the e-mail tab in settings) allows for this. If enabled, each account requires authorization by an admin before being activated.

@sctf2020
Copy link
Author

sctf2020 commented Jan 15, 2018 via email

@paullj1
Copy link
Member

paullj1 commented Jan 15, 2018

So I'll leave this open as a discussion point for now. Again, I'm just not sure how to cleanly implement it at the moment, but I'm definitely open to suggestions.

@sctf2020
Copy link
Author

sctf2020 commented Jan 15, 2018 via email

@paullj1
Copy link
Member

paullj1 commented Jan 15, 2018

Sure, implementation on the front-end is easy (ish... still, I think an argument could be made that it's getting more and more complex). It's the back-end that gets a little messy... of course, that could be a sign that the project could use a massive refactoring, but I really don't have time for that right now.

Still, I agree. If it is to be implemented, it must be optional.

@paullj1
Copy link
Member

paullj1 commented Sep 24, 2019

The feature that was implemented does not appear to have any issues. Closing the ticket for now, feel free to open back up if you come up with a solution.

@paullj1 paullj1 closed this as completed Sep 24, 2019
@sctf2020
Copy link
Author

Just to keep up, we ended up creating a Bracket plugin for CTFd that supported our needs. We definitely appreciate the work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants