ctf-server
old server for hosting capture-the-flag
git clone https://9o.is/git/ctf-server.git
sample
(2386B)
1 // Setup a Game to test during development
2 def setupDBDemo {
3
4 Flag.findAll.map(_.delete_!)
5 User.findAll.map(_.delete_!)
6 Challenge.findAll.map(_.delete_!)
7 CapturedFlags.findAll.map(_.delete_!)
8 RequiredFlags.findAll.map(_.delete_!)
9 ChatMessage.findAll.map(_.delete_!)
10 BroadcastMessage.findAll.map(_.delete_!)
11
12 val user1 = User.create.nickName("julio").email("julio@ex.com").password("julio1").firstName("Julio").lastName("Cabrera").image("https://2.gravatar.com/avatar/7d6356b8b56a9a71583787904a970daa?d=https%3A%2F%2Fidenticons.github.com%2Fdafaaf6a82312d937618f62558d02f93.png&s=440")
13
14 user1.save
15
16 val chal1 = Challenge.create.name("CHALLENGE #1").hint("Hint for challenge #1 goes right over here, not there.").long(-73.934574).lat(41.722728)
17 val chal2 = Challenge.create.name("CHALLENGE #2").hint("Hint for challenge #2 goes right over here, not there.").long(-73.932784).lat(41.723275)
18 val chal3 = Challenge.create.name("CHALLENGE #3").hint("Hint for challenge #3 goes right over here, not there.").long(-73.935525).lat(41.720757).radius(60)
19 val chal4 = Challenge.create.name("CHALLENGE #4").hint("Hint for challenge #4 goes right over here, not there.").long(-73.932812).lat(41.720805)
20
21 chal1.save
22 chal2.save
23 chal3.save
24 chal4.save
25
26 val flag1 = Flag.create.challenge(chal1).key(1625384701923766L).long(-73.934396).lat(41.72263).answer(1333914971356298L)
27 val flag2 = Flag.create.challenge(chal1).key(9817239872138273L).long(-73.934644).lat(41.722709).answer(12439955323105301L)
28 val flag3 = Flag.create.challenge(chal2).key(1231241244545682L).long(-73.932777).lat(41.723166).answer(2970320398905211L)
29 val flag4 = Flag.create.challenge(chal3).key(7618736172542122L).long(-73.935479).lat(41.720831).answer(6125722619732445L)
30 val flag5 = Flag.create.challenge(chal4).key(8267364893651231L).long(-73.932816).lat(41.720635).answer(5503501786089999L).winner(true)
31
32 flag1.save
33 flag2.save
34 flag3.save
35 flag4.save
36 flag5.save
37
38 flag3.prerequisite += flag2
39 flag4.prerequisite += flag1
40 flag5.prerequisite += flag3
41 flag5.prerequisite += flag4
42 user1.capturedFlags += flag2
43
44 chal1.save
45 chal2.save
46 chal3.save
47 chal4.save
48 flag1.save
49 flag2.save
50 flag3.save
51 flag4.save
52 flag5.save
53 user1.save
54 }