다음에 내가 할 때 까먹지 않으려는 용도라 설명은 굉장히 불친절할 수 있습니다ㅎㅎ..
https://github.com/encrypted-def/Connect6-Web
코드는 다 짜놨고, cpp+python websocket backend 서버만 만들어서 두면 된다. 웹 관련은 html, js밖에 없어서 그냥 google cloud storage에 두면 될 것 같다. 이건 따로 찾아봐야 함
일단 인스턴스를 만들자.
614MB인게 찜찜하긴 한데 설마 여기에 몇십명이 몰릴 일은 없겠지...
약간 기다린 후 SSH를 누르면 그냥 웹으로 연결 가능
그 다음에는 방화벽 설정을 통해 8765 port를 열어둔다.
그 다음에는 고정 ip를 받고
내 VM에 연결한다.
이제 클론뜨고
컴파일을 할랬는데
??? 이건 예상못했네ㅠㅠ 그래서 passwd로 내 계정의 비번 정해주고 sudo로 g++ 설치함
python3-pip도 설치해주고 pip install websockets 도 했으니 이제 dependancy는 다 된 것 같다.
intermediate-server.py를 실행시켰다.
이제 마지막으로 javascript 파일의 ip를 localhost에서 서버껄로 바꿔놓고 집에 있는 컴에서 접속이 잘 되는지 봤더니
된다!!! ㄹㅇ 신기,,,,
이제 nohup ./intermediate-server.py > /dev/null & 으로 로그아웃 해도 계속 돌아가게 만들어놓고 SSH 접속을 끊어보면 여전히 잘 돌아감을 확인할 수 있다.
생각난 김에 승패 통계를 내기 위해 sqlite3 테이블도 만들었다.
서버쪽 처리는 끝났고 프론트엔드를 처리할 차례이다. storage에 올리고 connect6.encrypted.gg 라는 URL도 연결하고자 한다.
나는 gandi.net이라는, 이름부터 스웩이 넘치는 도메인 호스팅 서비스를 사용하고 있다. 거의 1년만에 들어와보는거라 좀 가물가물하지만
일단 이렇게 DNS record에 추가를 했다.
이후 버킷을 만들었다.
그런데 이런게 떠서 알아보니
"encrypted.gg"가 실제 내꺼라는걸 인증하는 절차가 필요했다. 그래서 시킨대로 인증을 했다.
파일을 업로드했고
모두가 볼 수 있게 했다.
이제 다 된줄 알았는데 개판이 났다.
알고봤더니 웹사이트 구성 수정을 하지 않아서 그런 것 같다.
온갖 삽질을 끝낸 후에..
드디어 웹서비스가 완성됐다ㅎㅎㅎ
[+] 2019-12-31 추가
현재 1단계는 7092승 304패, 2단계는 512승 35패, 3단계는 153승 9패, 4단계는 15승 1패, 5단계는 241승 32패이다. 대략 8000판 정도 플레이되었다.
간헐적으로 굉장히 이상한 착수를 할 때가 있는데 대회에 맞춰 개발을 하는 동안 수많은 테스트에서도 전혀 문제가 없었기 때문에 2018년 육목 코드를 변경하는 과정에서 무언가 실수가 있던 것으로 추정이 된다. 무엇보다 에러의 재현이 너무나 까다로운 것이 좀 많이 힘든 점이고 아직까지 원인도, 에러가 발생하는 조건도 못찾겠다. 그래도 대부분의 경우에서는 잘 돌아가기 때문에 버그는 다음에 짬날 때 잡아보려고 한다.
'개발 > Connect6 Web' 카테고리의 다른 글
Idle 상태 방지 (5) | 2023.03.08 |
---|---|
오라클 클라우드로 서버 이전 (0) | 2022.03.01 |
2021-03-31 업데이트 (7) | 2021.03.31 |