업데이트 내역

웹사이트와 서버 모드의 업데이트 내역이에요. 최신 것부터 순서대로 있습니다

CloudRidge 웹사이트와 서버 모드의 모든 업데이트를 최신순으로 정리했어요. 어떤 기능이 언제 추가됐는지, 어떤 문제가 언제 고쳐졌는지 돌아볼 때 확인해 보세요.

버전별 해제

필터 중: 40 / 127개

v1.9.16 웹사이트 2026-09-30

외부로 나가는 요청이 이제 TLS 인증서를 검증합니다

  • 사이트가 외부로 보내는 모든 HTTPS 요청(스킨 서버, IP 위치, SMS 게이트웨이, 메일 서버, QQ 로그인, 관리자 화면의 테스트 버튼)은 지금까지 인증서 검증을 끈 채로 전송되었습니다. 그래서 경로 상의 누구든 자체 서명 인증서로 상대를 사칭해 요청을 통째로 가로챌 수 있었습니다. 이제는 모두 사이트에 함께 포함된 루트 인증서 묶음(Mozilla의 것, 루트 인증서 121개)을 기준으로 제대로 검증합니다.
  • 그중에서도 메일 연결이 가장 중요했습니다. 검증을 끈 상태에서는 경로 상의 누군가가 사서함 비밀번호와 모든 메일 본문을 한꺼번에 가져갈 수 있었습니다. 126 사서함의 인증서는 정상이므로 발송에는 영향이 없습니다.
  • 대가도 있습니다. 상대방의 인증서에 실제로 문제가 있으면 요청이 조용히 연결되는 대신 오류로 실패합니다. 관리자 화면의 테스트 버튼은 이 경우를 "인증서 검증 실패"로 따로 표시합니다. 루트 인증서 묶음이 혹시 없어지더라도 검증 없이 넘어가는 쪽으로 되돌아가지 않습니다 —— 더 분명하게 실패할 뿐입니다.
  • 오래된 문제 하나도 함께 고쳤습니다. 업데이트 내역에서 v1.9.6과 mod 1.6.0 항목의 제목이 계속 "title"로 표시되었습니다 —— 본문만 있고 제목이 없었는데, 페이지가 제목을 무조건 렌더링해서 키가 없으면 키 이름의 마지막 부분으로 대체되었기 때문입니다. 이제 제목을 채웠습니다
v1.9.15 웹사이트 2026-09-30

보안 점검: 여섯 가지 문제 수정

  • 관리자 영역의 문 하나가 반쯤 열려 있었습니다: 오너 / 관리자 / 서버 관리자 세 그룹 사람은 자기 사이트 계정 비밀번호로 프런트에 로그인하기만 하면 /admin/**를 그대로 열 수 있었습니다 —— 이메일 인증 단계가 통째로 건너뛰어졌습니다(원래는 관리자 로그인 페이지에서만 막혀 있었습니다). 이제는 "이 세션은 실제로 코드 입력을 통과했다"는 증표를 가지며, 프런트 로그인이 관리자 로그인이 되는 일은 없습니다. 사이트에는 예전부터 "관리자는 admins 테이블 계정만 인정한다"고 적혀 있었고, 이제 구현과 설명이 드디어 맞았습니다
  • 모드가 차단 목록을 읽지 못하면 빈 목록을 보고했고, 사이트는 "목록이 비었다"를 "차단이 모두 해제됐다"로 받아들였습니다 —— 그래서 데이터베이스의 차단 기록을 통째로 덮어쓰고 해제 이력을 지어내고 players.is_banned까지 지웠습니다. 이제 모드는 실제로 읽어냈을 때만 "이 목록이 정본"이라고 선언하고, 사이트도 그 선언(또는 비어 있지 않은 목록)을 받았을 때만 해제 대조를 합니다. 이것이 완전히 적용되려면 모드 1.6.6이 필요하며, 사이트 쪽은 이미 먼저 막아 두었습니다
  • 개인 페이지의 배너 주소는 플레이어가 직접 입력하는 값인데, 그것이 style="…url(주소)"에 그대로 들어갔습니다. 주소에 )를 하나만 넣어도 임의의 CSS 선언을 덧붙일 수 있습니다 —— 개인 페이지는 남이 보는 페이지라 방문자 전원이 당합니다(position:fixed로 전체 화면 피싱, 또는 추적 이미지로 방문자의 IP와 브라우저 유출). 이건 이스케이프로는 못 막습니다: HTML이 "를 다시 따옴표로 되돌린 뒤 CSS에 넘기기 때문입니다. 이제 주소는 화이트리스트를 통과해야 하고, 통과하지 못하면 배너를 아예 표시하지 않습니다
  • /whitelist의 "내 신청"이라는 카드는 실제로 사이트 전체 최근 5건을 조회하고 있었습니다 —— 로그인한 사용자라면 누구나 남의 게임 ID, QQ 번호, 심사 메모를 볼 수 있었습니다. 이제는 소유자 기준으로 걸러지며, 관리자와 서버 관리 페이지는 여전히 전체 보기입니다
  • 도구 페이지의 DNS 조회는 내부 주소 차단을 유일하게 빠져나간 입구였습니다: 127.0.0.1이나 내부 호스트 이름도 그대로 조회됐고, SRV 레코드(대상은 남의 DNS가 정합니다)로 우회하는 길도 있었습니다. host:port의 포트 검사도 콜론을 나누기보다 먼저 실행되어 8.8.8.8:53으로 아무 포트나 찔러볼 수 있었습니다. 세 가지 모두 고쳤고, ::1을 가리키는 AAAA 레코드도 차단 대상에 넣었습니다
  • 세 가지 더: ① 로그인 후 이동하는 next=에 javascript:…를 넣으면 한 줄짜리 XSS가 됐습니다(Url::ensure()는 문자열에 index.php가 있으면 스킴을 보지도 않고 그대로 통과시켰습니다); ② 비밀번호 복구 스크립트를 실행한 뒤 관리자 로그인 페이지가 새 평문 비밀번호를 그 페이지를 연 누구에게나 보여줬습니다 —— 비밀번호는 원래 서버 콘솔에도 출력되므로 페이지에 있던 사본은 지웠습니다; ③ CDR_DEBUG_CSRF를 켜면 로그에 로그인 요청의 앞 160바이트, 즉 평문 비밀번호가 기록됐습니다 —— 이제는 필드 이름과 길이만 기록합니다
v1.9.14 웹사이트 2026-09-26

'업적 개수가 들쭉날쭉한' 문제 수정

  • 게임에 접속해 있을 때는 업적이 켜져 있다가 접속을 끊으면 전부 회색이 되는 문제를 고쳤습니다. 모드가 진행 파일을 읽지 못하면 빈 목록을 보내는데, 사이트가 그것을 '이 플레이어는 업적이 없다'로 해석해 데이터베이스에 기록하여 저장된 진행 상황을 지우고 있었습니다. 이제 빈 목록은 절대 쓰지 않습니다 —— 오래된 데이터를 남기는 편이 0으로 초기화하는 것보다 낫습니다 (adv_done도 마찬가지로 0보다 큰 값만 받습니다)
  • 같은 분류 안에서 '한 계열이 두 동강 나는' 정렬 문제도 고쳤습니다. '달성한 것 먼저' 규칙 때문에 탐험의 跳跃 10,000 / 100,000(달성)과 跳跃 500,000(미달성)이 그룹 양 끝으로 갈라지고 그 사이에 엔드·네더 진행이 끼어 있었습니다. 이제 계열별로 먼저 묶고(1 km / 10 km …, 1만 회 / 10만 회 …), 계열 안에서 달성한 것을 앞에 둡니다 —— 접기는 미달성 항목을 제자리에서 숨길 뿐이라 달성한 업적은 그대로 바로 보입니다
v1.9.13 웹사이트 2026-09-26

이름 채워 넣기 귀속 규칙 수정

  • 같은 이름이 채워 넣기 표에 여러 번 나올 수 있습니다 —— 한 사람이 옛 오프라인 UUID(00000000-0000-...)와 정식 UUID를 모두 가진 경우이며, 둘 다 그를 가리킵니다. 기존 코드는 파일 순서대로 먼저 온 쪽이 가져가는 방식이었습니다: 이 사이트에서 birdzhonghuifei는 106.4시간 행과 1.9시간 행 모두에 대응하는데, 긴 쪽이 우연히 먼저 와서 제대로 붙은 것입니다. 순서가 달랐다면 엉뚱한 사람에게 이름이 붙었을 것입니다. 이제는 플레이 시간이 가장 긴 행에 부여되며 순서와 무관합니다
v1.9.12 웹사이트 2026-09-26

'알 수 없는 플레이어' 863명의 이름을 모두 찾았습니다

  • 서버의 usercache.json은 약 한 달만 보관하므로, 1.21 생존 서버에서 1.21.11까지 끌어올린 월드에서는 오래된 플레이어의 이름이 이미 만료되어 있었습니다 —— 사이트는 UUID를 식별자로 쓸 수밖에 없어 「알 수 없는 플레이어 · xxxxxx」로 표시했습니다. 그래서 백업 보관소를 뒤졌습니다: 역대 서버의 usercache / whitelist / ops / banned-players를 시간순(오래된 것→새 것)으로 합치자 863개 이름이 하나도 빠짐없이 복구되었습니다 (순위표의 395시간 기록은 iRXC). v13 업그레이드 시 한 번 자동으로 채워 넣으며, 이름이 아직 UUID인 행만 건드리고 이미 실제 이름이 있는 행은 1바이트도 바꾸지 않습니다
  • 경계 조건도 막았습니다: players.name은 고유 인덱스이므로 채워 넣을 이름을 다른 행이 이미 쓰고 있으면 그 행을 건너뛰고 기록합니다 —— 고유 제약 충돌 때문에 업그레이드 전체가 실패하는 일은 없습니다. 한 명이 '알 수 없음'으로 남는 편이 마이그레이션이 멈추는 것보다 낫습니다
v1.9.11 웹사이트 2026-09-26

관리자 화면 플레이어 이름 수정 · 실제 이름이 더 이상 덮어써지지 않습니다

  • 관리자 화면의 플레이어 목록 / 대시보드 / 차단 / 화이트리스트 / 스킨 / 사용자 페이지에서 이름을 확인할 수 없는 플레이어를 그대로 UUID로 보여주고 있었습니다. 공개 쪽은 계속 「알 수 없는 플레이어 · xxxxxx」로 표시해 왔고, 관리자 쪽 몇 곳이 빠져 있던 것을 맞췄습니다. 해당 플레이어는 863명입니다 —— 서버의 usercache.json은 약 한 달만 보관하므로 이 오래된 월드가 물려준 이름은 이미 만료되었고, 사이트는 전체 UUID를 식별자로 쓸 수밖에 없습니다(표시 오류가 아니라 정말로 보여줄 이름이 남아 있지 않습니다)
  • 함께 데이터 손실 위험도 고쳤습니다. 모드가 이름을 확인하지 못하면 빈 이름을 보고하는데, 예전 코드는 그대로 UUID를 덮어썼습니다. 한 달 넘게 접속하지 않은 고참 플레이어는 다음 동기화 때 저장된 실제 이름이 영구히 지워집니다. 이제 이미 실제 이름이 있으면 유지하고, 정말 이름이 없을 때만 UUID로 대체합니다
v1.9.10 웹사이트 2026-09-26

플레이어 페이지의 '하루에 225시간' 수정

  • 플레이어 페이지의 '최근 30일 온라인 시간'에 나오던 이상한 숫자를 고쳤습니다. 서버가 죽거나 퇴장 이벤트를 놓치면 닫히지 않는 접속 기록이 남는데, 마감 처리가 '마지막으로 확인된 시각'을 종료 시각으로 삼아서 09-13에 시작된 기록이 09-23까지 계산됐고 그 225시간이 전부 참가한 날에 얹혔습니다. 이제 마감에는 세 가지 상한이 있습니다 — 6시간 상한, 그 플레이어의 다음 세션 시작 시각, 그리고 추정을 줄이기만 하는 '마지막 확인 시각'입니다
  • 이미 데이터베이스에 들어간 몇 개의 잘못된 행도 데이터베이스를 건드리지 않고 올바르게 표시됩니다(읽을 때 같은 규칙으로 자릅니다). '최근 로그인 기록', '누적 온라인 시간', '이번 주 온라인', '서버별 시간'도 같은 규칙으로 맞췄습니다 — 이전에는 각자 초를 따로 합산해서 같은 숫자가 페이지 안에서 서로 어긋났습니다
v1.9.9 웹사이트 2026-09-26

모바일 달력 넘침 수정 · 연간 온라인을 '그날 최고'로

  • 모바일 채팅에서 날짜를 고를 때 달력이 패널 테두리 밖으로 나가던 문제를 고쳤습니다 (좁은 화면에서는 패널 위에 띄우지 않고 한 줄로 배치하므로 너비가 곧 컨테이너 너비입니다)
  • 「1년」 범위의 온라인 인원을 6일 평균에서 그날 최고로 바꿨습니다 — 저녁에만 붐비는 서버는 하루 평균 2명이어도 그 시간에 십여 명이 동시에 있었을 수 있습니다. 평균으로 그리면 1년이 아무것도 말해주지 않는 평평한 선이 됩니다. 24시간 / 7일 / 30일은 그대로 평균입니다 (거기서 한 점은 수십 분에 불과합니다)
v1.9.8 웹사이트 2026-09-26

채팅: 서버 시작과 종료가 실시간 채팅에 기록됩니다

  • 서버 시작과 종료(시각 포함)가 채팅 패널에 한 줄로 표시됩니다. 아바타 자리에 작은 세로선을 쓰고, 색도 플레이어 발언과 구분했습니다
  • 업데이트 내역 본문이 코드와 굵게 두 가지 표기를 지원합니다 (이전에는 백틱만 처리해서 굵게는 별표가 그대로 보였습니다)
v1.9.7 웹사이트 2026-09-25

채팅창: 날짜별 보기, 발언 권한 완화, 대화 상자 구성 요소

  • 채팅 기록을 날짜별로 볼 수 있습니다. 달력에서 날짜를 클릭하면 그날의 채팅을 읽을 수 있고, 기록이 있는 날짜는 굵게 표시됩니다. 날짜를 바꿔도 페이지 전체가 새로 고쳐지지 않습니다.
  • 발언 권한을 완화했습니다. 로그인만 하면 발언할 수 있고, 게임 캐릭터를 먼저 연동할 필요가 없습니다. 연동한 경우에는 캐릭터 이름으로 표시하고, 연동하지 않은 경우에는 사이트 닉네임을 쓰며 게임에서는 실제 캐릭터와 구분되도록 [웹 · 미연동]으로 표시합니다.
  • 사이트 닉네임은 15일에 한 번만 바꿀 수 있습니다(최초 설정은 제한 없음). 내 계정에 남은 날짜가 표시됩니다. 닉네임은 기존 게임 캐릭터나 관리자와 겹칠 수 없으므로, 이름을 바꿔 다른 사람을 사칭할 수 없습니다.
  • 신고가 제대로 된 대화 상자로 바뀌었습니다. 글자 수를 세어 주는 사유 입력란이 브라우저 기본 제공 창을 대신합니다. 철회 확인과 관리 화면의 몇몇 확인 창도 함께 교체했습니다 — 브라우저 기본 대화 상자는 페이지 전체를 막아 버리기 때문입니다.
  • 관리자 채팅 관리에서 미연동 발신자를 표시합니다. 삭제, 신고 처리, 음소거는 그대로입니다.
v1.9.6 웹사이트 2026-09-25

웹 채팅창 출시: 게임 채팅과 양방향 연동

  • 웹 지도 아래에 채팅창을 추가했습니다. 게임 내 전체 채팅 발언, 접속과 퇴장, 사망, 발전 과제 달성이 실시간으로 웹사이트에 표시되며, 각 메시지에 전송 시각이 붙습니다
  • 양방향으로 연결했습니다 — 웹 채팅창에서 보낸 메시지는 [网页] 접두사가 붙어 게임 전체 채팅에 표시됩니다. 게임 안팎에서 보이는 이름이 같으므로(연동한 캐릭터 이름) 다른 사람을 사칭할 수 없습니다
  • 로그인하지 않으면 채팅 내용이 보이지 않습니다(화면에서 숨기는 것이 아니라 서버가 1바이트도 내려보내지 않습니다). 로그인하고 게임 캐릭터를 연동해야 발언할 수 있습니다
  • 채팅은 "서버 운영 회차"별로 정리되며, 이전 회차의 기록으로 전환해 볼 수 있습니다. 서버를 다시 시작해도 사라지지 않습니다
  • 각 메시지에는 아이콘과 전송 시각이 붙습니다. 본인이 보낸 메시지는 철회할 수 있고, 다른 사람의 메시지는 신고할 수 있습니다
  • 관리자 페이지에 "채팅 관리"를 추가했습니다. 메시지 삭제(웹사이트와 게임에 동시에 반영), 신고 처리, 음소거, 작업 기록(삭제할 때도 원문을 남겨 추적할 수 있습니다)
v1.9.5 웹사이트 2026-09-25

업데이트 내역을 종류·월·버전으로 필터링

  • 업데이트 내역을 필터링할 수 있습니다. 상단의 세 숫자(웹사이트 / 모드 / 서버)가 클릭 가능한 칩이 되었고, 다시 누르면 해제됩니다
  • 월 필터와 버전 검색을 추가했습니다. "1.9"를 입력하면 1.9.0부터 1.9.4까지 나오고, 두 조건을 함께 쓸 수 있습니다
  • 필터 상태가 URL에 들어가므로 링크를 그대로 보내면 받는 사람도 같은 결과를 봅니다
  • 숫자는 전체 개수를 그대로 유지하며(필터링해도 줄지 않습니다), "이 조건에 맞는 업데이트가 없습니다"라는 빈 상태 안내를 추가했습니다
v1.9.4 웹사이트 2026-09-25

로그인 수정, 백업 안전망, API 문서 보강

  • 관리자 2단계 인증을 통과하지 못하던 문제를 고쳤습니다. 원인은 서버가 쓰는 PHP 버전에서 쓰기 트랜잭션의 커밋이 조용히 건너뛰어져 인증 코드가 데이터베이스에 남지 않던 것이었습니다. 메일은 오는데 코드를 넣으면 "먼저 코드를 받으세요"라고 나왔고, 재발송 제한도 함께 풀려 있었습니다
  • 같은 원인의 잠재적 문제 세 곳을 추가로 고쳤습니다(플레이어 검색, 하트비트 지표, 세션 기록)
  • 백업 정리를 범주별 할당량으로 바꿨습니다. 업그레이드 전·복원 전 안전 스냅샷은 일반 백업에 밀리지 않고, 직접 내보낸 백업은 자동으로 삭제되지 않습니다
  • 공개 플레이어 API의 검색 파라미터가 동작하지 않았습니다. 전체 500명을 넘으면 플레이 시간 500위 밖의 플레이어를 찾을 수 없었습니다. 부분 일치로 바꾸고 와일드카드 취약점도 막았습니다
  • 전송 내용이 서버 한도를 넘으면 빈 화면 대신 명확한 안내를 보여 줍니다
  • API 계약 문서에 공개 읽기 전용 엔드포인트 5개를 정리했습니다
  • 관리자 로그인 페이지의 "아이디·비밀번호로 돌아가기" 링크가 잘못된 단계로 가던 문제를 고쳤습니다
v1.9.3 웹사이트 2026-09-23

배지 벽 접기, 차트 설명, 24시간 추이 수정

  • 업적 시스템을 28개에서 98개로 늘리고 생존 / 건축 / 탐험 / 레드스톤 / 농사 / 전투 / 교류 / 수집의 8개 분류로 나눴습니다. 각 분류에는 「달성 / 전체」가 표시됩니다. 그중 35개는 게임 안의 실제 업적을 그대로 판정하며, 날짜는 게임에서 업적이 뜬 그 순간입니다
  • 오각형 레이더 차트의 각 축에 설명을 붙였습니다. 무엇을 재고 어떻게 계산하며 얼마가 만점인지 알 수 있어 모양만 보고 짐작할 필요가 없습니다. 범례도 추가해 채워진 도형은 나, 회색 점선은 서버 평균입니다
  • 24시간 추이 차트가 실제와 맞지 않던 문제를 고쳤습니다. 원인은 기록에 모드의 원본 접속자 수(상시 접속 봇 포함)가 저장된 반면 화면에는 걸러낸 수를 보여 준 것이었습니다. 이제 하트비트 저장과 화면 표시가 같은 숫자를 쓰고, 선에 마우스를 올리면 시각과 접속자 수가 나옵니다
  • 차트의 기간을 바꿀 수 있습니다: 24시간 / 7일 / 30일 / 1년. 서버가 최근에 어땠는지 한눈에 보입니다. 서버가 꺼져 있던 시간대는 선이 끊기고, 열지 않은 날을 0명으로 그리지 않습니다
  • 플레이어 페이지의 배지 벽을 접을 수 있습니다. 달성한 배지는 항상 표시되고(그게 바로 전적입니다), 미달성 배지는 분류 제목이나 아래의 「모두 펼치기」 버튼 뒤로 숨습니다. 접은 상태는 기억되어 새로 고쳐도 그대로이고, JavaScript가 없어도 98개가 모두 표시됩니다
  • 세션 기록 수정: “접속 중”은 예전에 세션에 종료 시각이 있는지만 보았기 때문에, 서버 충돌이나 퇴장 이벤트 누락 시 계속 “접속 중”으로 남았고 같은 사람이 두 세션에서 동시에 접속 중으로 표시되기도 했습니다. 이제 서버가 실시간으로 보고하는 명단을 기준으로 하며, 맞지 않는 세션은 “비정상 종료”로 표시하고 자동으로 마감합니다. 퇴장 이벤트가 중복으로 와도 두 번째 세션은 열리지 않습니다
  • 「게임 진행」배지가 하나도 켜지지 않던 문제를 고쳤습니다. 판정에 쓰는 진행 ID에 불필요한 접두사가 붙어 있어 게임이 보고하는 진행 이름과 맞지 않았고, 그래서 35개의 실제 업적이 모두 미달성으로 표시되었습니다(화면에서는 회색일 뿐이라 아직 못 한 것처럼 보여서 눈으로는 알 수 없었습니다). 이제 ID가 맞으므로 달성한 배지는 정상적으로 켜지고, 게임에서 실제로 달성한 날짜가 표시됩니다
v1.9.2 웹사이트 2026-09-22

보안·개인정보 강화, 업로드와 사용성 마무리

  • QQ 로그인을 연결했습니다. AppID·AppKey·콜백 주소는 모두 설정되어 있고, Tencent 심사가 끝나고 관리 화면에서 스위치를 켜면 바로 사용할 수 있습니다. 그전까지는 로그인 페이지에 버튼을 표시하지 않습니다(눌러도 아무 일도 없는 입구를 만들지 않기 위해서입니다)
  • 보안 강화: /storage/ 디렉터리에 더 이상 직접 접근할 수 없습니다(데이터베이스 백업, 스킨 캐시처럼 공개되면 안 되는 파일이 들어 있습니다)
  • 데이터베이스에 남아 있던 관리자 비밀번호 평문을 모두 지우고, 암호화된 요약값만 남겼습니다
  • 캐릭터 연결 확인 API에 실패 제한을 추가했습니다. 짧은 코드를 계속 틀리면 잠시 차단되어 무작위 대입을 막을 수 있습니다
  • 플레이어 필터, SVG 검사, 항목 검증을 허용 목록과 파라미터 바인딩으로 바꿨습니다. 명시적으로 허용한 값만 통과하고, 외부에서 들어온 값이 쿼리에 그대로 들어가지 않습니다
  • 사이트 전체 74곳의 JSON 출력에 안전한 이스케이프 플래그를 추가했습니다. 페이지에 들어간 데이터가 태그로 해석되지 않습니다
  • 개인정보: 프로필 공개 스위치에는 아직 5곳의 우회 경로가 있었습니다(키가 필요 없는 공개 플레이어 API 포함). 모두 막았으니 꺼 두면 공개 API에서도 볼 수 없습니다
  • WebP 지원: 프로필 이미지, 배너, 이미지 라이브러리, 포럼 등 8곳 모두 WebP를 그대로 업로드할 수 있습니다
  • 관리 화면의 "허용 형식"이 문자열 "array"로 깨져 저장되던 문제를 고쳤습니다. 업로드 형식 목록이 무효가 되던 근본 원인이고, 이제 저장해도 깨지지 않습니다
  • 플레이 시간 표시를 사이트 전체에서 시간 단위로 통일했습니다(큰 숫자는 시간, 일수는 작은 부제). 순위표는 정렬한 항목의 열만 보여 줍니다
  • 구형 브라우저 대비: 활동 히트맵, 성장 바, 업로드 영역의 옅은 배경과 포커스 링이 color-mix()를 지원하지 않는 브라우저에서도 투명해지지 않습니다
  • 공개 플레이어 페이지의 이름 옆에 레벨 배지(Lv.N)를 추가했습니다. 좁은 휴대폰 화면에서도 넘치지 않습니다
  • 브랜드 이미지: 테스트 이미지로 덮여 있던 로고와 아이콘을 복구했고, 브랜드 이미지의 오프라인 보관과 brand-restore.php 도구를 추가했습니다. 앞으로 잘못 덮여도 바로 되돌릴 수 있습니다
v1.9.0 웹사이트 2026-09-19

플레이어 센터와 이미지 업로드 개편

  • 마이페이지를 개편했어요. 성장 진행도, 이번 주 활동, 업적 배지, 커뮤니티 활동 흔적, 최근 활동 타임라인이 한 페이지에 모여요
  • 게임 레벨을 추가했어요. 누적 플레이 시간으로 환산해서 10시간마다 1레벨(Lv.1부터)이고, 마이페이지와 공개 플레이어 페이지에서 모두 볼 수 있어요
  • 공개 범위 스위치를 추가했어요. 누적 플레이 시간, 마지막 접속 시간, 첫 접속 날짜, 접속자 목록 네 항목을 본인이 공개할지 정할 수 있고, 끄면 다른 페이지에서도 찾을 수 없어요
  • 프로필 이미지와 배너는 이미지를 바로 업로드할 수 있고 자동으로 WebP로 저장돼요 (용량이 작고 로딩이 빨라요). 프로필 이미지는 가운데 기준으로 정사각형으로 잘리고, 배너는 비율을 유지한 채 1920×1080 안으로 줄어요
  • 이미지 형식은 PNG / JPG / WebP / GIF를 지원해요. AVIF는 먼저 PNG나 WebP로 저장한 뒤 올리라는 안내가 나와요
  • 이미지 라이브러리를 추가했어요. 업로드한 이미지를 관리 화면 한곳에서 관리하고 크기, 용량, 사용된 위치를 볼 수 있어요
  • 업로드 보안을 강화했어요. 파일의 실제 내용으로 종류를 판단하고 (확장자만 바꿔 속인 파일은 모두 거부), 업로드 폴더 밖으로 나가려는 시도를 막고, SVG는 허용 목록에 있는 것만 통과시키며, 참조되지 않는 고아 파일은 정리해요
  • 게임 캐릭터 소유권 신청은 '사이트에서 신청 → 게임에서 /cdr claim 과 짧은 코드로 확인' 방식으로 바뀌었어요. 그 캐릭터 본인만 확인할 수 있어요
  • 마이페이지에 스킨 3D 미리보기를 추가했어요. 시드 지도와 실시간 지도는 모두 HTTPS로 바뀌었어요
v1.9.1 웹사이트 2026-09-19

권한 표를 다시 만들었어요 (이 서버에 실제로 설치된 모드 기준)

  • 권한 체크 표를 이 서버에 실제로 설치된 모드 기준으로 다시 만들었어요. 진짜 권한 노드가 있는 항목만 남고, 체크하면 실제로 적용돼요
  • 모드가 없어서 못 쓰는 기능(영지 관리, /hat, /back, 채팅 색상 등)은 체크 표에서 빠졌어요. 대신 아래에서 무엇이 없고 나중에 어떤 노드를 넣어야 하는지 솔직하게 설명해요
  • 각 권한마다 '체크하면 게임에서 실제로 무엇을 할 수 있는지'를 분명히 적었어요. 예를 들어 '관전 모드'는 절대 크리에이티브 모드까지 열어 주지 않아요
  • 크리에이티브 모드는 별도 항목이에요. 서버 주인과 관리팀이 체크할 때만 두 번 확인 없이 저장되고, 다른 그룹은 먼저 확인 창이 떠요. 사이트 계정도 서버 주인이나 관리팀이면 이제 관리 화면에 바로 로그인할 수 있어요
v1.8.2 웹사이트 2026-09-18

CloudRidge 블루와 새 색상, 더 안정적인 로그인

  • 사이트 전체 색상을 "CloudRidge 블루"로 바꿨어요. 색상 값은 서버 로고에서 그대로 가져와서 사이트와 로고를 나란히 놓아도 색이 어긋나지 않아요
  • 운영 환경에서 로봇 인증이 "모두 통과하지 못하는" 문제를 고쳤어요 (리버스 프록시 환경에서 실제 IP를 가져오지 못해 요청 제한이 모든 방문자를 같은 사람으로 취급했어요)
  • 인증은 통과했는데 페이지가 넘어가지 않을 때 제출 버튼이 멈춰 있지 않고 8초 뒤 자동으로 복구돼요
  • 홈 첫 화면의 버튼이 휴대폰에서 화면 밖으로 밀려나지 않아요
v1.8.1 웹사이트 2026-09-18

로봇 인증 업그레이드

  • 로봇 인증을 ALTCHA 2.x로 올리고, 대체 수단으로 이미지 인증번호를 추가했어요. 브라우저가 계산하지 못할 때는 그림에 있는 문자를 그대로 입력하면 돼요
  • 가입, 화이트리스트 신청, 인증번호 재발송 같은 요청도 로봇 인증 대상에 넣어서 남의 이메일로 인증번호를 요청하는 것을 막을 수 있어요
  • 홈에 "원클릭 QQ 그룹 가입"을 추가했어요. PC와 휴대폰 모두 QQ가 바로 열려요
  • 사이트 아이콘을 여러 크기로 갖춰서 휴대폰의 "홈 화면에 추가"에서도 아이콘이 나와요
v1.8.0 웹사이트 2026-09-18

업적, 기기 로그인 기억, 새 디자인

  • 플레이어 상세 페이지에 업적 배지와 능력 레이더를 추가해서 그 플레이어가 무엇을 잘하는지 한눈에 알 수 있어요
  • "이 기기 기억하기"를 추가했어요. 체크하면 30일 동안 다시 로그인하지 않아도 돼요 (비밀번호 변경이나 모든 기기 로그아웃 시 즉시 무효가 돼요)
  • 관리자 로그인에 두 번째 단계 이메일 인증번호를 추가하고, 오프라인 복구 키도 발급해요. 메일을 받을 수 없을 때도 관리 화면에 들어갈 수 있어요
  • 화이트리스트 신청 페이지가 자신의 상태에 따라 다른 내용을 보여줘요. 심사 중, 승인됨, 또는 지난번에 거절된 사유와 다시 제출 양식이에요
  • 사이트 전체 색상을 서버 로고와 같은 색인 청록과 먹색으로 바꾸고 제목은 세리프체로 했어요. 여백이 있는 산수화 같은 느낌이에요
  • 포럼 카테고리 아이콘은 emoji를 쓰지 않고 (일부 시스템에서 빈 네모로 보여서) 사이트 자체 아이콘으로 바꿨어요
v1.7.0 웹사이트 2026-09-18

가이드 검색과 실시간 정보

  • 서버 가이드에 검색을 추가했어요. 제목이나 본문 키워드로 바로 찾을 수 있어요
  • 가이드 사이드바에 "서버 실시간 정보"를 추가했어요. 버전, 로더, 모드 버전 같은 실시간 정보를 페이지를 옮기지 않고 볼 수 있어요
  • 가이드의 명령어 목록과 모드 목록을 주소로 바로 열 수 있어서 새 플레이어에게 공유하기 편해요
  • 휴대폰에서는 가이드 사이드바가 본문 위로 올라가고, 실시간 정보 블록이 화면 한 장을 다 차지하지 않아요
v1.6.0 웹사이트 2026-09-18

스킨 사이트 동기화

  • 스킨 사이트 동기화를 지원해요. 스킨 사이트에 같은 이름으로 가입해 스킨을 올리면 웹사이트가 자동으로 가져와요
  • 플레이어 상세 페이지에서 처음 보는 이름을 만나면 스킨 사이트에 한 번 자동으로 조회해서, 찾으면 바로 보여줘요
  • 마이페이지에 "스킨 다시 동기화"를 추가했어요. 스킨 사이트에서 스킨을 바꾸면 한 번 눌러 갱신할 수 있어요
  • 관리 화면에서 스킨 사이트 주소를 직접 입력할 수 있어요 (기본값은 LittleSkin). 나중에 사이트를 바꿔도 코드를 고칠 필요가 없어요
v1.4.0 웹사이트 2026-09-18

계정과 보안

  • 마이페이지를 개편해 "계정과 보안", "개인 설정" 두 영역을 추가했어요. 로그인 기록, 연동 변경, 비밀번호 변경이 여기서 가능해요
  • "모든 기기에서 로그아웃"을 지원해요. 비밀번호를 바꾸거나 다른 곳에서 로그아웃하면 다른 기기의 로그인이 즉시 무효가 돼요
  • 인증번호에 기기 잠금을 걸었어요. 같은 기기에서 하루 최대 5건까지만 보낼 수 있어서 스크립트로 문자와 메일을 퍼붓는 것을 막아요
  • 이메일이나 휴대폰 인증이 끝나지 않았으면 페이지 상단에서 한 번 알려주고, 인증을 마쳐야 화이트리스트 신청, 글쓰기, 캐릭터 연동을 할 수 있어요
  • 마이페이지에서 각 서버에서의 자신의 활동 요약을 볼 수 있어요
v1.5.0 웹사이트 2026-09-18

다시 패키징한 배포

  • v1.4.0과 내용이 완전히 같고 배포 패키지만 다시 만들었어요. 기능 변화는 없어요
v1.3.8 웹사이트 2026-09-17

로그인 방법 설명 보완

  • 비밀번호 로그인 페이지에 사용할 수 있는 세 가지 계정(이메일, 휴대폰 번호, 연동한 게임 이름)을 분명히 적어서 실제 지원 내용과 맞췄어요
  • 다국어 문구도 함께 보완했어요
v1.3.7 웹사이트 2026-09-17

로그인 페이지 배경 이미지

  • 로그인, 가입, 비밀번호 찾기 페이지에서 배경 이미지를 직접 설정할 수 있어요 (관리 화면에서 업로드). 카드는 반투명 유리 효과로 바꿨어요
  • 관리 화면 "외관"에서 홈 대표 이미지, 사이트 로고, 브라우저 아이콘, 로그인 페이지 배경 이미지를 올릴 수 있어요
  • 로그인은 이메일과 휴대폰 번호 외에 이미 연동한 게임 이름으로도 할 수 있어요
v1.3.6 웹사이트 2026-09-17

SMS 키 검사 다시 추가

  • SMS 키 검사를 다시 넣었지만, 실제로 문제가 되는 경우에만 알려줘요. 32자리 16진수로 입력한 경우예요 (그건 MD5이고 평문 KEY가 아니에요)
  • 안내에 KEY를 어디서 다시 복사해야 하는지 바로 적어 줘서 "키 오류"만 보고 추측할 필요가 없어요
v1.3.5 웹사이트 2026-09-17

SMS 키 안내 수정

  • 잘못 경고하던 SMS 키 길이 안내를 없앴어요 (이전에는 32자를 요구했지만 플랫폼의 실제 키는 16자예요)
  • 키가 맞는지는 SMS 플랫폼이 직접 답하도록 바꿔서 길이로 추측하지 않아요
v1.3.4 웹사이트 2026-09-17

로그인 수정과 보안 강화

  • 이메일과 휴대폰 비밀번호 로그인이 무조건 오류가 나서 열리지 않던 문제를 고쳤어요 (이전에는 500이 났어요)
  • 로그인 실패가 너무 많으면 일시적으로 제한해서 스크립트로 비밀번호를 대입하는 것을 막아요
  • 내비게이션 그룹 안에 현재 페이지가 있으면 그룹 버튼도 함께 강조돼서 지금 어디에 있는지 한눈에 보여요
  • 로그인 페이지에서 "QQ 로그인"과 "이메일 로그인"을 구분선으로 나눠서 헷갈리지 않게 했어요
v1.3.3 웹사이트 2026-09-16

SMS 설정 자가 점검

  • 관리 화면 SMS 설정에 "비용 없는 자가 점검"을 추가했어요. 문자를 실제로 보내지 않고도 사용자 이름, 키, 템플릿이 맞는지 확인할 수 있어요
  • "계정과 키가 틀렸다"인지 "템플릿이 아직 심사를 통과하지 못했다"인지 분명히 알려줘서 추측할 필요가 없어요
  • 예약 작업이 SMS 템플릿 심사 상태를 주기적으로 확인하고, 통과하면 사용 설정을 자동으로 알려줘요
v1.3.2 웹사이트 2026-09-16

여러 서버 지원

  • 여러 서버를 지원해요. 서버마다 유형(생존, 크리에이티브, 미니게임)을 설정할 수 있고, 프런트는 유형별로 다른 내용을 보여줘요
  • 크리에이티브 서버는 건축 패널 설명을, 미니게임 서버는 대전 설명과 PvP 순위를 보여줘요
  • 화이트리스트와 밴 같은 변경이 서버마다 실제로 실행됐는지 확인해서 "어떤 서버는 동기화되지 않았다"는 상황이 더 이상 생기지 않아요
  • 관리 화면에서 한 건의 변경을 특정 서버에만 보내도록 지정할 수 있어요
v1.3.1 웹사이트 2026-09-16

관리자 로그와 메시지 센터

  • 관리 화면에 "작업 로그"를 추가했어요. 누가 언제 무엇을 바꿨는지 모두 확인할 수 있어서 문제가 생겨도 데이터베이스를 뒤질 필요가 없어요
  • 관리 화면에 "메시지 센터"를 추가했어요. 메일과 SMS 발송 기록을 볼 수 있어서 플레이어가 "인증번호가 안 왔다"고 할 때 바로 확인할 수 있어요
  • 관리 화면에 화이트리스트 일괄 도구를 추가했어요. 한 번에 추가하고, 제거하고, 만료된 목록을 정리할 수 있어요
  • 사용자 그룹 권한 판정이 작동하지 않던 문제를 고쳐서 그룹 권한 설정이 이제 실제로 적용돼요
  • 관리 콘솔 첫 화면에 최근 14일 추이 그래프를 추가했어요. 신규 사용자, 화이트리스트 신청, 방문 수, 신규 플레이어
v1.3.0 웹사이트 2026-09-16

플레이어 스킨과 내비게이션 그룹

  • 플레이어 스킨을 추가했어요. 64×64 스킨을 올리면 마이페이지와 플레이어 상세 페이지에서 3D 모델로 보여줘요 (외부 라이브러리는 전혀 불러오지 않아요)
  • 마이페이지에 "내 스킨" 영역을 추가해서 언제든 올리거나 삭제할 수 있어요
  • 상단 내비게이션을 그룹 드롭다운(서버, 커뮤니티)으로 바꾸고, 휴대폰에서도 두 줄로 빽빽해지지 않아요
  • 서버 가이드에서 [[mods]], [[server-facts]] 같은 실시간 블록이 일부 페이지에서 대괄호 그대로 보이던 문제를 고쳤어요
  • 푸터에 ICP 등록번호와 공안 등록 아이콘을 추가했어요
v1.2.3 웹사이트 2026-09-13

SMS 채널과 여러 문제 수정

  • SMS 인증번호 채널을 연동해서 휴대폰 번호 가입과 비밀번호 찾기가 가능해졌어요 (관리 화면에서 플랫폼 설정을 채우면 적용돼요)
  • "관리 화면에서 설정을 바꿨는데 프런트에 반영되지 않는" 문제를 고쳤어요. 메일, SMS, 봇, 화이트리스트 설정이 이제 제대로 적용돼요
  • 서버 상태 페이지의 노드 상세가 열리지 않던(500 오류) 문제를 고치고, 알 수 없는 노드는 정상 안내를 보여주도록 했어요
  • 밴 사유가 영어 "Banned by an operator."로 표시되던 문제를 고쳤어요. 이제 중국어로 표시돼요
  • 로그인하지 않고 화이트리스트 신청을 누르면 먼저 로그인으로 안내하고, 로그인 후 신청 페이지로 자동으로 돌아와요
v1.2.2 웹사이트 2026-09-13

계정 시스템과 화이트리스트 온라인 신청

  • 계정 시스템을 추가했어요. 이메일이나 휴대폰으로 인증번호를 받아 가입하고, 비밀번호로 로그인하고, 비밀번호를 잊으면 재설정할 수 있어요
  • 화이트리스트 온라인 신청을 추가했어요. 게임 ID와 연락 방법을 하나 이상 입력하면 신청할 수 있고, 관리자가 승인하면 서버에 자동으로 반영돼요
  • QQ 번호를 적었고 그룹에 가입해 있으며 QQ 레벨이 기준을 넘으면 QQ 봇이 바로 자동 승인해요. 사람을 기다릴 필요가 없어요
  • 서버 주인과 관리팀은 웹 오른쪽 아래 떠 있는 버튼에서 신청을 승인하고, 화이트리스트를 추가하거나 삭제하고, 서버 설정을 바로 바꿀 수 있어요
  • 관리 화면에 "원클릭 업데이트 소식 발행"을 추가했어요. 앞으로 업데이트마다 자동으로 한 건씩 기록돼요
v1.2.1 웹사이트 2026-09-13

편의 도구와 상태 페이지 개편

  • "편의 도구" 페이지를 추가했어요. 그라데이션 글자 생성기, 서버 상태 조회, 서버 주소 점검, 틱 환산, 플레이어 조회
  • 서버 상태 페이지를 개편했어요. 24시간 가동률, 서비스 목록, 장비 상태를 추가했고 눌러서 노드 상세도 볼 수 있어요
  • 한 계정으로 여러 게임 캐릭터를 연동하고 대표 캐릭터를 지정할 수 있어요 (게임 내 /cdr main 으로도 바꿀 수 있어요)
  • 건축 갤러리를 큰 이미지로 보는 방식으로 바꿔서 보기가 훨씬 편해졌어요
  • 서버 가이드의 명령어 목록과 모드 목록이 서버 실제 상황을 자동으로 따라가서 직접 옮겨 적을 필요가 없어요
v1.2.0 웹사이트 2026-09-13

개설부터 지금까지의 플레이어 데이터

  • 서버 월드 통계를 연동했어요. 개설 이후 플레이 시간, 사망, 킬, 채굴, 설치, 이동 거리를 모두 볼 수 있어요
  • 플레이어 목록을 누적 플레이 시간 순으로 정렬할 수 있고, 눌러서 자세한 데이터를 볼 수 있어요
  • 잠수용 허수아비와 봇 계정을 자동으로 구분해 제외해서 더 이상 순위 자리를 차지하지 않아요
  • 밴 공개에 "밴된 IP" 항목을 추가하고 IP 위치도 표시해요
  • MSPT가 표시되지 않던 문제를 고쳤어요. 이제 TPS와 MSPT가 각각 독립된 눈금을 가져요
v1.1.1 웹사이트 2026-09-13

아바타 대체 표시와 관리 화면 개편

  • 아바타를 불러오지 못해 화면이 깨진 이미지로 가득 차던 문제를 고쳤어요. 외부 아바타를 가져올 수 없으면 플레이어 이름 첫 글자 아바타로 자동 전환돼요
  • 관리 화면을 개편했어요. 상단 관리 바에 사이드바 메뉴 검색을 추가해서 바꾸고 싶은 항목을 키워드로 찾을 수 있어요
  • 일부 서버에서 로봇 인증이 오류를 내고 페이지가 열리지 않던 문제를 고쳤어요
  • 모드 API 주소가 리다이렉트되면 "API는 정상인데 사이트에는 데이터가 하나도 없다"는 함정에 빠지던 문제를 고쳤어요. 관리자 자가 점검에서 바로 알려줘요
  • 웹 지도에 연결할 수 없을 때 빈 화면 대신 명확한 안내를 보여줘요
v1.1.0 웹사이트 2026-09-13

계정 시스템과 건축 갤러리

  • "건축 갤러리"를 추가했어요. 직접 지은 건물 스크린샷을 올리면 다른 사람이 좋아요를 누르거나 크게 열어 볼 수 있어요
  • 플레이어 목록과 플레이어 상세 페이지를 추가했어요. 플레이 시간, 사망 횟수, 채굴량, 이동 거리를 한눈에 볼 수 있어요
  • 관리자 패널을 공개했어요. 소식, 페이지, 갤러리, 사용자, 시스템 설정을 웹에서 관리할 수 있어요
  • 다국어와 색상 테마 전환을 추가했어요. 밝은 테마와 어두운 테마도 직접 바꿀 수 있어요
  • 밴 기록의 처리 결과를 공개해서 처리가 투명하게 보이도록 했어요
v1.0.0 웹사이트 2026-09-12

웹사이트 정식 공개

  • 웹사이트를 정식으로 공개했어요: 홈, 서버 상태, 플레이어 가이드, 밴 공개, 소식, 게시판
  • 홈에서 접속자 수, TPS, 장비 사용량을 실시간으로 보여줘요. 데이터는 서버 모드가 30초마다 전송해요
  • QQ 원클릭 로그인을 지원해요. 로그인하면 게임 캐릭터를 연동하고 게시판에 글을 쓸 수 있어요
  • 사이트 전체가 외부 CDN에 의존하지 않고 로봇 인증도 직접 호스팅해서 국내에서 더 빠르게 열려요
  • 휴대폰과 PC 모두 정상적으로 볼 수 있고, 화면이 좁으면 내비게이션 메뉴가 자동으로 접혀요

날짜는 해당 버전의 공개일이에요. 새로운 문제를 발견하면 게시판에 알려 주시거나 서버 관리자에게 직접 연락해 주세요.