checking
levels
0
accounts
0
downloads
0
scores
0
comments
0
server address

Levels

—
diff
id
level
stars
downloads
likes
uploaded
page 1

Leaderboard

rank
player
stars
demons
creator

Connect

geometry dash 2.2 · geode or a gdps switcher

Server address

paste into the client
/database/

The client appends the endpoint filenames to this path, so the trailing /database/ stays. Drop it and every request lands on the dashboard instead.

Setup

  1. Install a loader for 2.2 — Geode, or any GDPS server switcher build.
  2. Open the loader's server settings and set the server URL to the address above.
  3. Restart the client. It re-reads the config on launch.
  4. Register an account in game. The first account registered gets account ID 1.
  5. Log in, upload a level, and it shows up here within a refresh.

Quick check

no client needed
# server alive
curl -s https://host/database/ping.php
→ 1

# level list, raw protocol
curl -s https://host/database/getGJLevels21.php?type=4&gameVersion=22
→ <levels>#<creators>#<songs>#<total>:<offset>:<size>#<hash>

Endpoints

vanilla names, positional text replies

Unknown names answer the literal -1, never HTML. No status codes, no cookies.

accounts   registerGJAccount  loginGJAccount  updateGJAccSettings20
           backupGJAccountNew  syncGJAccountNew  getAccountURL

levels     getGJLevels21  downloadGJLevel22  uploadGJLevel21
           updateGJDesc20  deleteGJLevelUser20  getGJDailyLevel
           rateGJStars20  rateGJDemon21  suggestGJStars20

users      getGJUserInfo20  updateGJUserScore22  getGJUsers20
           getGJCreators19

scores     getGJScores20  getGJLevelScores211  uploadGJLevelScore

comments   getGJComments21  uploadGJComment21  getGJCommentHistory
           likeGJItem21

misc       getGJSongInfo  getGJMapPacks21  getGJGauntlets21
           getGJChallenges  getGJRewards  ping

JSON API

read-only, open cors, no key
GET /api/stats
GET /api/levels?q=temple&type=0&page=0
GET /api/levels/1
GET /api/levels/1/scores
GET /api/levels/1/comments
GET /api/leaderboard?type=top
GET /api/users/1

level

copied