포탈2 (소스엔진) 으로 웹서버 만들기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
게임 개발자, 웹 개발자, 소프트웨어 아키텍처에 관심 있는 초보자
핵심 요약
- Source 엔진의 TCP 콘솔 기능 (
-netconport
옵션)을 활용해 웹 서버를 구축 - HTTP 요청을 콘솔 명령어로 변환하기 위해
alias
명령어와 VScript 사용 - 게임 오브젝트와 HTML/CSS 매핑으로 웹 페이지 구성 방식 제시
섹션별 세부 요약
1. 웹서버 구축 기초
- Source 엔진의
-netconport
옵션으로 TCP 서버를 열어 웹 페이지 호스팅 - 게임 내 TCP 서버는 열림 상태이지만, 사용자 요청을 콘솔 명령어로 처리하는 문제가 존재
2. HTTP 요청 처리
- HTTP 요청을 콘솔 명령어로 변환하기 위해 VScript와
alias
명령어 사용 - 예:
alias "GET /hello" "echo Hello, World!"
형식으로 라우팅 구현
3. 라우팅 구현
- 게임 콘솔이 URL 경로를 구분하지 못해 HTTP 메서드(GET, POST) 및 커스텀 헤더로 라우팅 흉내
- JavaScript를 통해 게임에서 실시간 데이터 업데이트 가능
4. 게임 오브젝트와 웹 요소 매핑
- 큐브 오브젝트를 HTML 태그와 CSS 속성에 매핑하여 웹 페이지 구성
- 예: 큐브의 위치 → HTML 요소의
position
속성, 색상 →background-color
매핑
결론
- 실무에서는 비효율적이지만, 게임 엔진과 웹 개발의 융합 개념을 이해하는 데 유용한 예시
- VScript와 alias 활용이 핵심 기술이며, HTTP 메서드/헤더 기반 라우팅이 핵심 전략
- 게임 엔진의 제한성(예: 콘솔 명령어 처리)을 고려한 문제 해결 방식이 주요 교훈