Sparse documentation about Brisk. Many things aren't documented at all, but I start with authentication workflow. AUTHENTICATION WORKFLOW --- CLI ------------ index.php: onsubmit="return j_login_manager(this);" -> sync xhr(index_wr.php?mesg=getchallenge&cli_name=) --- SRV ------------ GET index_wr.php send the string: "1|" --- CLI ------------ POST index.php with passid_private field equal to calcMD5(tokens[1]+calcMD5(form.elements['passid'].value)) ===== Game Lifecycle ===== -> bin5/index_wr.php + argz[0] == 'logout' - bri->table_wakeup($user) - set users subst to "shutdowner" and "shutdowned" - save this: "gst.st_loc++; the_end=true; window.onbeforeunload = null; \ window.onunload = null; document.location.assign("../index.php");" in user->comm var for client xhr - set $bri->the_end = TRUE -> index.php (after verify session value: ~L250) - garbage_manager(TRUE) - align many status var with briskin5 user values - room_join_wakeup()