첫 배포의 밤 : 웹게임 혼자 만들기(9)
지금까지 만든 건 전부 내 컴퓨터 안에만 있었다. 내 컴퓨터에서는 잘 돌아갔다. 근데 그건 나만 할 수 있는 게임이었다. 다른 사람이 하려면 인터넷 어딘가에 집이 있어야 한다.
집을 빌리고 문패를 달았다
먼저 서버를 빌렸다. 게임이 돌아갈 작은 서버 한 대, 그리고 기록을 담을 데이터베이스를 따로 하나. 처음부터 크게 빌릴 필요는 없다고 생각했다. 사람이 몰리면 그때 늘리면 되니까.
주소도 샀다. textverse.kr. 텍스트로 된 세계들이라는 뜻으로 지었다. 게임은 그 앞에 war를 붙여서 war.textverse.kr. 나중에 다른 텍스트 게임을 만들면 앞에 다른 이름을 붙이면 된다. 문패를 다는 기분이었다.
검은 창에 한 줄씩
서버를 빌리면 끝인 줄 알았다. 아니었다. 빈 서버는 정말 아무것도 없는 빈 방이다. 게임을 돌릴 프로그램도, 웹 주소로 들어오는 사람을 받아줄 프로그램도 내가 하나하나 깔아야 했다.
브라우저에 검은 창을 띄워놓고 명령어를 한 줄씩 붙여 넣었다. 그리고 오타를 냈다. 한 번이 아니라 계속. 글자 하나 빠져서 다시 치고, 붙여 넣은 글 끝에 이상한 글자가 같이 딸려 들어가서 창이 멈추고, 끊고 처음부터 다시 쳤다. 오후 내내 그랬다.
제일 기억에 남는 건 웹서버 프로그램이다. 기본으로 깔리는 건 너무 옛날 버전이었다. 그래서 공식 저장소에서 받으려고 했는데 서버가 거부했다. 저장소의 서명 열쇠가 만료됐다는 거다. 내가 잘못한 게 아니라 저쪽 열쇠가 만료된 거라 좀 억울했다.
검사를 끄고 그냥 깔면 바로 된다. 근데 그건 하기 싫었다. 처음 여는 집 현관문을 확인도 안 하고 다는 기분이라. 그래서 공식 배포 파일을 직접 받아서 지문(파일이 진짜인지 확인하는 값)을 대조하고 나서 깔았다. 오래 걸렸는데 마음은 편했다.
데이터베이스도 처음엔 접속은 되는데 경고가 떴다. 연결은 되는데 상대가 진짜 내 데이터베이스인지 끝까지 확인은 안 한다는 경고였다. 이것도 인증서를 넣어서 끝까지 확인하게 바꿨다. 경고가 없어지고 나서야 다음으로 넘어갔다.
살아 있다는 대답
밤이 돼서야 처음으로 서버가 대답했다. 게임 주소에 "살아 있어?" 하고 물어보는 주소가 있는데, 거기서 '살아 있음', '데이터베이스 정상'이 돌아왔다.
근데 이상하게 별로 실감이 안 났다. 서버 안에서 서버한테 물어본 거라. 아직 내 휴대폰으로 들어가 본 건 아니니까.
자기 자신을 의심한 검사기
그다음은 게임을 묶어서 올리는 거였다. 게임 파일을 한 꾸러미로 묶고, 묶기 전에 검사를 몇 가지 돌린다. 그중 하나가 "비밀 열쇠가 실수로 같이 들어가지 않았나" 검사다. 비밀번호나 열쇠가 섞여서 올라가면 큰일이니까.
그 검사에 걸렸다. 놀라서 뭐가 들어갔나 봤더니, 검사기 자기 코드였다. 비밀 열쇠를 찾으려면 '비밀 열쇠'라는 글자를 코드 안에 적어둬야 하는데, 그 글자를 보고 자기 자신을 잡은 거다. 웃기긴 한데 그 밤에는 좀 허탈했다. 검사기를 고치고 다시 묶었다.
내 휴대폰에서 열렸다
꾸러미를 올리고, 바꿔 끼우고, 마지막 점검을 돌렸다. 점검 항목이 쭉 내려가는데 실패가 0이었다. 경고도 0.
그리고 휴대폰을 들어서 주소창에 war.textverse.kr을 쳤다.

떴다. 내 컴퓨터가 아니라 인터넷 어딘가에 있는 내 게임이. 별거 아닌데 한참 들여다봤다.

들어가 보니 공지 칸이 비어 있었다. '게시된 공지가 없습니다'. 그래서 그날 밤 마지막으로 한 건 공지를 올리는 거였다. 운영자 계정으로 들어가서 첫 공지 두 개를 올렸다. 아무도 안 읽을 시간이었는데, 그래도 이 집에 처음 붙인 안내문이었다.
여는 건 시작이었다
문을 열면 한숨 돌릴 줄 알았다. 근데 열고 나니까 그때부터 진짜였다. 사람들이 들어오기 시작했고, 내가 못 본 것들이 하나씩 보이기 시작했다. 고치고, 다시 묶고, 다시 올리고. 처음 연 뒤 이틀 동안 열 번 넘게 다시 올렸다.
그래도 그 첫날 밤은 오래 기억할 것 같다. 오타투성이 오후, 만료된 열쇠, 자기를 잡은 검사기, 그리고 휴대폰에 뜬 첫 화면.
다음엔 하루에 아홉 번 배포한 날 얘기를 하려고 한다.