포탈2 (소스엔진) 으로 웹서버 만들기

1 day ago 2

요약

(Gemini로 요약 후 일부 수정되었습니)

  • Portal 2 엔진을 웹 서버로 전환

    • Source 엔진의 숨겨진 TCP 콘솔 기능 (-netconport 옵션)을 이용해 Portal 2에서 직접 웹 페이지를 호스팅하는 실험을 진행.
  • 개발자 콘솔을 통한 HTTP 응답 처리

    • 게임에 TCP 서버는 열렸으나 사용자의 요청에 대해 개발자 콘솔은 이를 콘솔 커맨드로 받아들이는 문제가 있음.
    • HTTP 요청을 게임의 콘솔 명령어로 받아들이기 위해 소스엔진의 alias 명령어와 VScript (Valve에서 만든 스크립트 언어)를 사용하여 입력된 문자열에 대한 응답을 출력할 수 있게 변경함.
  • 다중 라우팅 구현

    • 게임 콘솔로 URL 경로를 구분하지 못하므로, HTTP 요청의 메서드(GET, POST 등), 커스텀 HTTP 헤더 등을 이용해 다른 라우팅을 흉내 냄.
    • 이를 이용하여 JavaScript를 사용해 실시간으로 게임으로부터 데이터 업데이트가 가능하도록 구현함.
  • 게임 오브젝트를 HTML DOM과 CSS에 매핑

    • 큐브와 같은 게임 오브젝트를 HTML 태그와 속성에 대응시켜, 실제로 웹사이트를 “쌓아가는” 방식으로 구성함.
    • 마찬가지로 스타일 정보(CSS)도 각 속성을 큐브 하나로 대응시켜 시각적으로 웹 페이지를 구성함.

Read Entire Article