From 255001d7f86b89d751f9982fd3201af83b379dc5 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 11 Oct 2023 14:24:09 +0200 Subject: [PATCH] ## MAINTAIN R/RW TW STATE --- API/QRCODE.sh | 18 +++++++++++++++--- RUNTIME/PLAYER.refresh.sh | 37 +++++++++++++++++++++++++------------ 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/API/QRCODE.sh b/API/QRCODE.sh index 0bc16fbf..923917a2 100755 --- a/API/QRCODE.sh +++ b/API/QRCODE.sh @@ -222,10 +222,11 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then && PLAYER=${salt} \ || PLAYER=${WHAT} - echo "

$PLAYER LOGOUT OK ?

" > ~/.zen/tmp/coucou/${MOATS}.log - + echo "TW : $myIPFS/ipns/$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)" > ~/.zen/tmp/coucou/${MOATS}.log + echo "

$PLAYER LOGOUT ...

" >> ~/.zen/tmp/coucou/${MOATS}.log ipfs key rm ${G1PUB} >> ~/.zen/tmp/coucou/${MOATS}.log ipfs key rm ${PLAYER} >> ~/.zen/tmp/coucou/${MOATS}.log + ipfs key rm "${PLAYER}_feed" >> ~/.zen/tmp/coucou/${MOATS}.log echo "$HTTPCORS $(cat ~/.zen/tmp/coucou/${MOATS}.log)"| nc -l -p ${PORT} -q 1 > /dev/null 2>&1 & end=`date +%s` @@ -243,14 +244,25 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then ISTHERE=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1) echo "IS THERE ? $ISTHERE" + [[ ${ISTHERE} == "" ]] \ && ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/secret.ipns "$salt" "$pepper" \ && ipfs key import ${PLAYER} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/secret.ipns \ + && ipfs key import ${G1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/secret.ipns \ && ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1) \ || ASTRONAUTENS=${ISTHERE} + ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/feed.ipfskey "$salt" "$G1PUB" + FEEDNS=$(ipfs key import "${PLAYER}_feed" -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/feed.ipfskey) + ( ## 1 HOUR SESSION - [[ ${ISTHERE} == "" ]] && echo "${PLAYER} SESSION START" && sleep 3600 && echo "${PLAYER} SESSION END" && ipfs key rm ${PLAYER} + [[ ${ISTHERE} == "" ]] \ + && echo "${PLAYER} SESSION STARTED" \ + && sleep 3600 \ + && echo "${PLAYER} SESSION ENDED" \ + && ipfs key rm ${PLAYER} \ + && ipfs key rm ${PLAYER}_feed \ + && ipfs key rm ${G1PUB} ) & REPLACE=${myIPFS}/ipns/${ASTRONAUTENS} diff --git a/RUNTIME/PLAYER.refresh.sh b/RUNTIME/PLAYER.refresh.sh index 9717d40b..6972f42a 100755 --- a/RUNTIME/PLAYER.refresh.sh +++ b/RUNTIME/PLAYER.refresh.sh @@ -54,24 +54,30 @@ for PLAYER in ${PLAYERONE[@]}; do ## REFRESH ASTRONAUTE TW - ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1) - [[ ! ${ASTRONAUTENS} ]] \ - && echo "WARNING No ${PLAYER} in keystore WARNING WARNING" \ - && ASTRONAUTENS=$ASTRONS + ASTRONAUTENS=$(ipfs key list -l | grep -w ${G1PUB} | cut -d ' ' -f1) + + if [[ ! ${ASTRONAUTENS} ]]; then + + echo "${PLAYER} TW IS DISCONNECTED... RECREATING IPNS KEYS" + + ipfs key import ${G1PUB} -f pem-pkcs8-cleartext ~/.zen/game/players/${PLAYER}/secret.player + ipfs key import ${PLAYER} -f pem-pkcs8-cleartext ~/.zen/game/players/${PLAYER}/secret.player + + source ~/.zen/game/players/${PLAYER}/secret.june + ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/feed.ipfskey "$SALT" "$G1PUB" + FEEDNS=$(ipfs key import "${PLAYER}_feed" -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/feed.ipfskey) + + ## + ASTRONAUTENS=$ASTRONS && ASTRONS="" + + fi + [[ ! ${ASTRONAUTENS} ]] && echo "ERROR BAD ${PLAYER} - CONTINUE" && continue echo ">>> $myIPFS/ipns/${ASTRONAUTENS}" - ## MY PLAYER : RESTORE PLAYER KEY FROM G1PUB (IN CASE IS MISSING : PLAYER LOGOUT) - [[ ! $(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1) ]] \ - && ipfs key export ${G1PUB} -o ~/.zen/tmp/${MOATS}/${PLAYER}.key \ - && ipfs key import ${PLAYER} ~/.zen/tmp/${MOATS}/${PLAYER}.key \ - && rm ~/.zen/tmp/${MOATS}/${PLAYER}.key - ## REFRESH PLAYER IN STATION CACHE - rm -Rf ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/ 2>/dev/null ## CORRECT OLD PUBLISH FORMAT REMOVE - rm -Rf ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/ mkdir -p ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/ @@ -285,6 +291,13 @@ for PLAYER in ${PLAYERONE[@]}; do ls -al ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${LAT}_${LON} 2>/dev/null echo "(☉_☉ ) (☉_☉ ) (☉_☉ )" + ## MAINTAIN R/RW TW STATE + [[ ${ASTRONS} == "" ]] \ + && echo "${PLAYER} DISCONNECT" \ + && ipfs key rm ${PLAYER} \ + && ipfs key rm ${PLAYER}_feed \ + && ipfs key rm ${G1PUB} + done echo "PLAYER.refresh DONE."