Extracts save data from GDPS Editor 2.2.
Project no longer requires you to have a Pi-Hole server and a WiFi capable device! It only needs it if you want to use the old method.
If you have any questions contact me, create an issue or write in the discussions.
Because the GDPS Editor 2.2 servers has been shut down so you can't sync your account anymore and it's stuck on your device. With this tool you can export your save files to their respective CCGameManager and CCLocalLevels files to be able to backup your account or export your created levels for reupload from CCLocalLevels.
You can find all the tested versions here.
For versions not listed in the document it most likely will work but if not create an issue and I'll look into it.
Make sure you're on the same network as your device! This only works on Android devices!
- Install Node.js and npm if not installed
- Download repository by clicking Code -> Download zip or with this direct link
- You can also use
git clone https://github.com/martin0300/GDPS-Editor-2.2-Save-Extractor
in your terminal if you have git installed.
- You can also use
- Unpack the downloaded zip file
- Open the unpacked folder and double click
start.bat
(recommended)- If you want to do this with a terminal manually (for advanced users):
- On Windows, search for cmd or Windows Terminal in windows search bar, on Linux open any terminal
- Navigate to the unpacked directory
- Run
npm i
andnode extractor.mjs
in your terminal
- Setup phone settings (Your computer's local IP and the proxy's port are printed when running
start.bat
orextractor.mjs
)- Download Tun2Socks from the play store
- Open downloaded app
- Enter your computer's local IP address into Socks host
- Enter the proxy's port number into Port
- Press connect button in the bottom right corner
- Wait for script to write: Proxy connected! Waiting for connection from client...
- Open GDPS Editor 2.2
- Click settings -> Account
- If you already have an account, a Save button will be visible. If so, proceed directly to step 10.
- If not, click Login and follow the instructions in the next steps.
- Input any username and password you want then click on login
- Username needs to be minimum 3 characters long
- Password needs to be minimum 6 characters long
- If an error occurs, proceed to the Troubleshooting section
- Go back to the main menu and click settings -> Account again
- Click Save and wait for it to finish
- If an error occurs, proceed to the Troubleshooting section
- Wait for script to write: Finished
- Browse the save data from the folder saveFiles using https://gdcolon.com/gdsave/
- Important! If you don't do this you will lose internet access on your device!
- Open Tun2Socks and press disconnect button in the bottom right corner
If the old method worked better for you, you can find it here.
If a login failure occurs or your game crashes when pressing Login, it usually means one of the following:
- A connection to the server failed
- The game version is incompatible with the server (You can check supported versions here)
Try the following steps:
- Restart both Tun2Socks and the extractor.
- Make sure your device and computer are on the same network.
- Double-check the proxy IP address and port number.
If it still doesn't work, open an issue and I'll take a look at it.
If you get the message "Backup failed. Please try again later." or "Data size limit exceeded!", it usually means one of the following:
- A connection to the server failed
- The game version is incompatible with the server (You can check supported versions here)
- Your save file is too big. (This will also throw a "Data size limit exceeded!" error in your terminal)
Try the following steps:
- Restart both Tun2Socks and the extractor.
- Make sure your device and computer are on the same network.
- Double-check the proxy IP address and port number.
- In case of a "Data size limit exceeded!" error you can try the
--1gbsize
switch when starting the extractor. This can be done by double clickingstart-1gbsize.bat
or with the following command:node extractor.mjs --1gbsize
If it still doesn't work, open an issue and I'll take a look at it.
This works by creating a capture server and a proxy server and connecting to it using a proxy app on your device. The proxy redirects all connections to the GDPS Server to the capture server. Then when the client on your device tries to backup the data it will be redirected to the capture server and it will be saved to CCGameManager and CCLocalLevels.
- Get save data from POST request body.
- Split save data at an ; character.
- Run Base64 decode on both strings.
- Decompress both files using GZip.
- express - Web server
- ip - Getting local ip address
- @heroku/socksv5 - Proxy server
- Project by martin0300 (me)
- Geometry Dash server docs by SMJSGaming
- GD Save Explorer by GDColon
- E-mail: martin0300a@gmail.com
- Website: https://martin0300.github.io
- GitHub: https://github.com/martin0300
MIT License
Copyright (c) 2024 martin0300
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.