second faking identities fixed
This commit is contained in:
		
							parent
							
								
									f951533a18
								
							
						
					
					
						commit
						0f3ad3f71f
					
				
							
								
								
									
										62
									
								
								src/app.py
									
									
									
									
									
								
							
							
						
						
									
										62
									
								
								src/app.py
									
									
									
									
									
								
							| @ -23,7 +23,6 @@ app = Flask(__name__) | ||||
| app.logger.info("Flask app loaded at " + __name__) | ||||
| app.config.from_object(Config) | ||||
| 
 | ||||
| 
 | ||||
| # Version allows css / js to load instead of taking hours to update even on run smh | ||||
| version = rint(0, 300000000) | ||||
| 
 | ||||
| @ -80,8 +79,10 @@ def play(hash): | ||||
| 				elif (not all([a in wlist for a in name])) or (len(name) > 12): | ||||
| 					return render_template('badname.html', title='Join Game', version=str(version)) | ||||
| 				else: | ||||
| 					games[hash]["players"][name] = 0 | ||||
| 					return render_template('play.html', version=str(version), title="Play", gamecode=hash, username=name) | ||||
| 					player_token = gencode(128) | ||||
| 					games[hash]["players"][name] = [0, player_token] | ||||
| 					return render_template('play.html', version=str(version), title="Play", gamecode=hash, | ||||
| 										   username=name, token=player_token) | ||||
| 			else: | ||||
| 				return render_template('please.html', version=str(version)) | ||||
| 	else: | ||||
| @ -129,24 +130,22 @@ socketio = SocketIO(app) | ||||
| #    V | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # Checks when a player / host joins the room | ||||
| @socketio.on('join') | ||||
| def on_join(data): | ||||
| 	room = data['room'] | ||||
| 	if dohash(data["_gid"]) == room: | ||||
| 		pass | ||||
| 	elif games[room]["players"][data['username']][1] != data['_gid']: | ||||
| 		return | ||||
| 	if room not in games.keys(): | ||||
| 		return render_template('gamenotfound.html', title="Join Game", version=str(version)) | ||||
| 	username = "" | ||||
| 	if "username" in data.keys(): | ||||
| 		username = data['username'] | ||||
| 	else: | ||||
| 		gid = data["_gid"] | ||||
| 		if dohash(gid) == room: | ||||
| 			username = "host" | ||||
| 	join_room(str(room)) | ||||
| 	msg = {"locked": games[room]["locked"], "players": games[room]["players"]} | ||||
| 	nplayers = {} | ||||
| 	for r in games[room]["players"].keys(): | ||||
| 		nplayers[r] = games[room]["players"][r][0] | ||||
| 	msg = {"locked": games[room]["locked"], "players": nplayers} | ||||
| 	print(msg) | ||||
| 	emit('player_join_event', msg, room=room) | ||||
| 
 | ||||
| 
 | ||||
| @ -176,40 +175,55 @@ def host_msg(data): | ||||
| 	elif "tossup" in msg.keys(): | ||||
| 		if games[room]["buzzed"] == "": | ||||
| 			return | ||||
| 		games[room]["players"][games[room]["buzzed"]] += games[room]["tossup"] | ||||
| 		games[room]["players"][games[room]["buzzed"]][0] += games[room]["tossup"] | ||||
| 		username = games[room]["buzzed"] | ||||
| 		games[room]["buzzed"] = "" | ||||
| 		emit("update_score_event", {"username":username, "players": games[room]["players"]}, room=room) | ||||
| 		nplayers = {} | ||||
| 		for r in games[room]["players"].keys(): | ||||
| 			nplayers[r] = games[room]["players"][r][0] | ||||
| 		emit("update_score_event", {"username": username, "players": nplayers}, room=room) | ||||
| 		emit("unlocked_event", {}, room=room) | ||||
| 	elif "bonus" in msg.keys(): | ||||
| 		if games[room]["buzzed"] == "": | ||||
| 			return | ||||
| 		games[room]["players"][games[room]["buzzed"]] += games[room]["bonus"] | ||||
| 		games[room]["players"][games[room]["buzzed"]][0] += games[room]["bonus"] | ||||
| 		username = games[room]["buzzed"] | ||||
| 		games[room]["buzzed"] = "" | ||||
| 		emit("update_score_event", {"username":username, "players": games[room]["players"]}, room=room) | ||||
| 		nplayers = {} | ||||
| 		for r in games[room]["players"].keys(): | ||||
| 			nplayers[r] = games[room]["players"][r][0] | ||||
| 		emit("update_score_event", {"username": username, "players": nplayers}, room=room) | ||||
| 		emit("unlocked_event", {}, room=room) | ||||
| 	elif "power" in msg.keys(): | ||||
| 		if games[room]["buzzed"] == "": | ||||
| 			return | ||||
| 		games[room]["players"][games[room]["buzzed"]] += games[room]["power"] | ||||
| 		games[room]["players"][games[room]["buzzed"]][0] += games[room]["power"] | ||||
| 		username = games[room]["buzzed"] | ||||
| 		games[room]["buzzed"] = "" | ||||
| 		emit("update_score_event", {"username":username, "players": games[room]["players"]}, room=room) | ||||
| 		nplayers = {} | ||||
| 		for r in games[room]["players"].keys(): | ||||
| 			nplayers[r] = games[room]["players"][r][0] | ||||
| 		emit("update_score_event", {"username": username, "players": nplayers}, room=room) | ||||
| 		emit("unlocked_event", {}, room=room) | ||||
| 	elif "negs" in msg.keys(): | ||||
| 		if games[room]["buzzed"] == "": | ||||
| 			return | ||||
| 		games[room]["players"][games[room]["buzzed"]] -= games[room]["negs"] | ||||
| 		username = games[room]["buzzed"] | ||||
| 		username = games[room]["buzzed"][0] | ||||
| 		games[room]["buzzed"] = "" | ||||
| 		emit("update_score_event", {"username":username, "players": games[room]["players"]}, room=room) | ||||
| 		nplayers = {} | ||||
| 		for r in games[room]["players"].keys(): | ||||
| 			nplayers[r] = games[room]["players"][r][0] | ||||
| 		emit("update_score_event", {"username": username, "players": nplayers}, room=room) | ||||
| 		emit("unlocked_event", {}, room=room) | ||||
| 
 | ||||
| 
 | ||||
| # When the player buzzes | ||||
| @socketio.on('buzz') | ||||
| def buzz(data): | ||||
| 	room = data["room"] | ||||
| 	if games[room]["players"][data["username"]][1] != data['_gid']: | ||||
| 		return | ||||
| 	if room not in games.keys(): | ||||
| 		return render_template('gamenotfound.html', title="Join Game", version=str(version)) | ||||
| 	if not games[room]["locked"]: | ||||
| @ -222,6 +236,10 @@ def buzz(data): | ||||
| @socketio.on('leave') | ||||
| def on_leave(data): | ||||
| 	room = data['room'] | ||||
| 	if dohash(data["_gid"]) == room: | ||||
| 		pass | ||||
| 	elif games[room]["players"][data["username"]][1] != data['_gid']: | ||||
| 		return | ||||
| 	if room not in games.keys(): | ||||
| 		return render_template('gamenotfound.html', title="Join Game", version=str(version)) | ||||
| 	username = "" | ||||
|  | ||||
| @ -4,6 +4,7 @@ code = document.getElementById("code").value; | ||||
| name = document.getElementById("name").value; | ||||
| kickurl = document.getElementById("kick").value; | ||||
| hostleave = document.getElementById("hostleave").value; | ||||
| gid = document.getElementById("gid").value; | ||||
| 
 | ||||
| function removeAllChildren(e) { | ||||
| 	var child = e.lastElementChild; | ||||
| @ -15,7 +16,7 @@ function removeAllChildren(e) { | ||||
| 
 | ||||
| socket.on("connect", function() { | ||||
| 	// when client first connects to a game
 | ||||
| 	socket.emit("join", {"username": name, "room": code, "_gid": ""}); | ||||
| 	socket.emit("join", {"username": name, "room": code, "_gid": gid}); | ||||
| }) | ||||
| 
 | ||||
| socket.on("player_join_event", function(datas) { | ||||
| @ -135,7 +136,7 @@ function unlock() { | ||||
| 
 | ||||
| function buzz() { | ||||
| 	// when client hits buzz
 | ||||
| 	socket.emit("buzz", {"username": name, "room": code, "_gid": ""}); | ||||
| 	socket.emit("buzz", {"username": name, "room": code, "_gid": gid}); | ||||
| } | ||||
| 
 | ||||
| $(document).on('keypress', function(e) { | ||||
| @ -147,6 +148,6 @@ $(document).on('keypress', function(e) { | ||||
| 
 | ||||
| window.onbeforeunload = function leave() { | ||||
| 	// when client leaves
 | ||||
| 	socket.emit("leave", {"username": name, "room": code, "_gid": ""}); | ||||
| 	socket.emit("leave", {"username": name, "room": code, "_gid": gid}); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,7 @@ window.onbeforeunload = function leave() { | ||||
| socket.on("player_join_event", function(datas) { | ||||
| 
 | ||||
| 	data = datas["players"] | ||||
| 	console.log(data) | ||||
| 	div = document.getElementById("sidebar"); | ||||
| 	removeAllChildren(div); | ||||
| 	if (Object.keys(data).length == 0) { | ||||
|  | ||||
| @ -23,6 +23,7 @@ | ||||
| 		<br><input type="hidden" id="name" name="name" value="{{ username }}"> | ||||
| 		<br><input type="hidden" id="kick" name="kick" value="{{ url_for('kick') }}"> | ||||
| 		<input type="hidden" id="hostleave" name="hostleave" value="{{ url_for('join') }}"> | ||||
| 		<input type="hidden" id="gid" name="gid" value="{{ token }}"> | ||||
| 		<div class="sidebar" id="sidebar"> | ||||
| 		</div> | ||||
| 		<div id="game"> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user