✒️
편지가 도착했습니다…
온라인

내 정체를 맞혀라 🎭

입장하면 나와 상대방 모두
스스로 모르는 정체를 하나씩 받습니다.
내 정체는 상대방만, 상대방 정체는 나만 알아요.
질문은 실제 메일로 보내고,
10턴 안에 맞혀보세요.

상대도 같은 방 코드로 입장하면
정체가 배정되고 게임이 시작됩니다.

이 프로젝트는 이렇게 만들어졌습니다

이 게임은 시뮬레이션이 아니라, 이번 학기 직접 구축한 클라우드 인프라와 메일 서버 위에서 실제로 동작합니다.

① 클라우드 인프라

OCI(Oracle Cloud Infrastructure) 인스턴스에 Ubuntu 서버를 직접 구축했습니다. Security List, iptables, ufw 등 다중 방화벽 계층을 진단·설정하며 실제 네트워크 트러블슈팅을 수행했습니다.

② 실제 메일 프로토콜

Stalwart 메일 서버를 자체 호스팅합니다. 게임 속 모든 질문·답변은 SMTP(AUTH LOGIN, TLS)로 인증된 계정 간에 실제로 발송됩니다 — 화면에 보이는 텍스트가 아니라 진짜 메일입니다.

③ 백엔드 아키텍처

FastAPI로 게임 서버를 구현했습니다. 두 플레이어의 턴 상태를 락(lock) 기반으로 동시성 안전하게 관리하고, 프론트엔드는 폴링으로 실시간에 가깝게 동기화합니다.

④ 게임 로직 설계

정체 배정, 질문-답변 기록(읽은 메일함), 마지막 턴의 공정성을 보장하는 동시 판정 로직까지 게임 규칙 전반을 직접 설계·구현했습니다.

⑤ nginx 리버스 프록시

정적 프론트엔드와 API 백엔드를 하나의 도메인으로 통합하기 위해 nginx 리버스 프록시(/api → FastAPI)를 구성했습니다.

즉 이 프로젝트는 "메일 서버를 만들었다"에서 그치지 않고, 그 위에서 실제로 동작하는 서비스를 구현한 결과물입니다.

내 정체 (카테고리만 공개)
상대 정체
-
10
보낼 수 있는
메일
대기
상대를 기다리는 중…

받은편지함

✉ 새 메일 작성
받는이rival@06.ecs.li
보내는이me@06.ecs.li

내 정체에 대해 예/아니오로 답할 수 있는 질문을 본문에 작성하세요. 실제 메일로 발송됩니다.

↩ 답장 쓰기
받는이-
보내는이me@06.ecs.li
제목Re: 질문 있어요
인용된 원본 메일

"..."

참고 — 상대(질문한 사람)의 정체: -

정답 맞추기

내가 무엇인지 정답을 입력하세요. 틀리면 턴만 소모됩니다.

✉ 답변이 도착했습니다
Q.

누가 먼저 질문할까요?

A
B
🏆

승리