VSDactyl for VS Code
VSDactyl, SansCraft Network's official fork of the original Pterodactyl extension from MinhMCPC, is a VS Code extension for connecting to Pterodactyl panels and standalone SFTP servers. It keeps the familiar panel and SFTP workflows, while adding maintained fixes and improvements for anyone to use directly from VS Code.
What It Does
- Auto-Sync Deployment Engine: Map a local workspace folder to a remote server. VSDactyl monitors the folder and silently mirrors all saves, creates, and deletes to the remote node in real-time.
- Archive-Assisted Bulk Transfers: Automatically compresses large file drops using zero-I/O native node streams or 7-Zip, uploads the archive over SFTP, and triggers server-side extraction via the Pterodactyl API for lightning-fast mass uploads.
- Advanced Transfer Manager Dashboard: A beautiful, real-time glassmorphic UI to monitor your bulk transfers and throttle upload/download speeds dynamically.
- Embedded Web View: Open your Pterodactyl server's control panel directly inside a VS Code editor tab.
- Hardware Metrics Telemetry: View real-time CPU, RAM, and Disk usage directly in the VS Code Tree View, complete with visual alerts for high-usage scenarios.
- API-Accelerated File Operations: Directory deletions utilize the ultra-fast Pterodactyl API backend instead of slow recursive SFTP unlink commands.
- Recursive Sidebar File Explorer: Expand and explore your remote server files directly inside the VSDactyl Servers sidebar tree view.
- Server-Side Archive Management: Fast, Wing-native compression and decompression commands to package/unpackage remote directories instantly.
- Core SFTP Integrity: Robust SFTP Keep-Alive heartbeat ensures large file modifications don't drop unexpectedly.
- Connect to Pterodactyl panel servers and standalone SFTP endpoints.
- Browse, edit, create, rename, and delete remote files from the VS Code Explorer, or manage them directly from the Servers sidebar tree view.
- Open a live terminal to send commands to a server console.
- Start, stop, restart, or kill panel-backed servers from the tree view.
- Store account secrets securely through VS Code secret storage.
- Import and export account data for backup or migration.
Install
From source
- Clone this repository.
- Run
npm install in the extension folder.
- Press
F5 in VS Code to launch the extension host.
From a packaged build
- Install the
.vsix package in VS Code.
- Open the VSDactyl view in the Activity Bar.
Quick Start
Panel account
- Open the VSDactyl view in the Activity Bar.
- Click Add Account.
- Enter your panel URL, API key, username, and SFTP details.
- Select SSH key or password authentication.
- After saving, expand the account to see your servers.
Standalone SFTP account
- Open the VSDactyl view in the Activity Bar.
- Click Add SFTP Account.
- Enter the host, port, username, and authentication method.
- Save the account and connect when you are ready.
Remote files
- Right-click a server and choose Connect.
- The server mounts as a workspace folder.
- Edit files normally and save to sync back to the remote host.
Terminal and power controls
- Right-click a panel-backed server.
- Choose Open Terminal to access the console.
- Use the power actions to control the server state.
SSH Key Setup
The extension can generate an Ed25519 key pair and upload the public key to the panel for you.
- Open the Command Palette with
Ctrl+Shift+P.
- Run VSDactyl: Setup Auto SSH Key.
- Select a panel account.
- Choose a key name and optional passphrase.
- The private key is saved locally and the public key is uploaded to the panel.
Commands
The command IDs stay compatible with the original extension surface, but the user-facing titles are VSDactyl-branded.
pterodactyl.addAccount - Add a panel account.
pterodactyl.addSftpAccount - Add a standalone SFTP account.
pterodactyl.editAccount - Edit the selected account.
pterodactyl.removeAccount - Remove the selected account.
pterodactyl.refreshServers - Refresh the server list.
pterodactyl.connectServer - Connect to a server.
pterodactyl.disconnectServer - Disconnect from a server.
pterodactyl.reconnectServer - Reconnect a server.
pterodactyl.openTerminal - Open the server terminal.
pterodactyl.exportData - Export account data.
pterodactyl.importData - Import account data.
pterodactyl.setupSshKey - Generate and upload an SSH key.
pterodactyl.showSftpLog - Show SFTP debug output.
pterodactyl.compressFile - Compress selected files/folders server-side.
pterodactyl.decompressFile - Decompress selected archive files server-side.
Requirements
- A Pterodactyl panel URL and client API key for panel-backed accounts.
- Or a standalone SFTP host, port, username, and authentication method.
Security Notes
- API keys and passwords are stored in VS Code secret storage when possible.
- SSH private keys can be selected from disk or pasted into the account form.
- The extension uses
ptero:// for panel-backed mounts and sftp:// for standalone SFTP mounts.
Troubleshooting
- If file operations are slow, check the network connection and server load.
- If connection attempts fail, confirm the host, port, username, and authentication method.
- Make sure SFTP is enabled on the target server and accessible from your network.
- Standalone SFTP entries do not support panel-specific actions like power controls or terminal access.
Tutorials & Guides
Full walkthroughs are available in multiple languages:
Project Notes
This fork is public and intended for community use. It keeps the original protocol and command identifiers for compatibility while evolving the branding, documentation, and implementation around them.
| |