{"_id":"@akaanakbaik/pterodactyl-gateway","_rev":"12-ffb5905eae6bc81c58569b8fc8b91c7e","name":"@akaanakbaik/pterodactyl-gateway","dist-tags":{"latest":"1.0.3"},"versions":{"0.3.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.3.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.3.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli.js","ptero-gateway":"dist/cli.js"},"dist":{"shasum":"e812deaf0c020b10e4d68bd8b405e595d100e5b2","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.3.0.tgz","fileCount":37,"integrity":"sha512-QJb1MYDRVOZ/vCIgBncVaNffRBj/z8WqxM0Ia8rWtu4TeCpxXgO9IxUK3Ez5uNgw1vRSY2+9Qto+AluqOfZXlw==","signatures":[{"sig":"MEUCIQDT44lrjaIMdAddz2/TdwZLEPClmSFjacXEcFvyT1TuVAIgaoLHe8eNtcsDx2yfC59KN70lcHbBUVv021ditBWA+f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"54d38b9f9504118e8ac5aed1525c424d1d5537f5","scripts":{"cli":"node dist/cli.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:pack","test:cli":"npm run build && node dist/cli.js help && ./dist/cli.js help","chmod:bin":"node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.3.0_1778925989860_0.6301777820567174","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.3.1","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.3.1","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli.js","ptero-gateway":"dist/cli.js"},"dist":{"shasum":"99e8b852c0a3c7ac3a10715cff1ba1d35e894bcb","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.3.1.tgz","fileCount":37,"integrity":"sha512-DLAyL0BFM2L+noKkTcv7WKut+D7S/ORh/4Dv6SJ1Ika/6LkGp0YSG6LeGDlMd3APbojnYE4R5GnUtAQKJTBgwg==","signatures":[{"sig":"MEUCIHQiTy/RMJvbKAwwCNsknwtmR690JN1IIdVkP1/7zI3ZAiEA2oEG+l7gI1dj7ZYiOr9HuoCI6+Pw7vB+lK8vLnBY9GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204469},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a0ffb73ebfca9d22cfcad2563d4bbdde0fd5958e","scripts":{"cli":"node dist/cli.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:pack","test:cli":"npm run build && node dist/cli.js help && ./dist/cli.js help","chmod:bin":"node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.3.1_1778926896422_0.15055719929413214","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.4.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.4.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"06b76b8f80d4b0873d9ff461b8ad5bc566a92418","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.4.0.tgz","fileCount":41,"integrity":"sha512-EnTf5wS1uh4OWAfTbjJ01UWxlDWYyqXmTjrmYsKuNzJrCvYYDpNDDY3upSqF97/ewBgXxjxrkX1IB3qrNEO0ug==","signatures":[{"sig":"MEQCIDB+VizybIRlSxCjSEqTr3OyI6eIBBP0PzJyO7aRfOamAiAx5lIsCxfVdCzrsiwENjfsZU0zQkPRyfTeSwZeo6DbIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219339},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"43fdbba6384342c6ddfd1f84cb0a94e6ff219425","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:pack","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js presets && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.4.0_1778929296872_0.16464827103687862","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.5.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.5.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"5eeff8c16f79f9cfae5e18b00c2582312c87a93f","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.5.0.tgz","fileCount":49,"integrity":"sha512-GUrNajGWEOFOc39LAMognYaT7N2c1sw3XOu3WNn/N3jniZaLjh7VC/Wv2p7N0VoGp2L3FRz1PV5NbMkIZxAtQA==","signatures":[{"sig":"MEUCIAzaVV9xqZUCUCo0g6s9h0lBTXQIb5am7YbiWzm31rQKAiEAlsLf5CjmXdxmOXPtc0hQhOvpE1tYo55kzWJs4r0ji98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238793},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3b81f4db965b3e764361db42d92e98649de2d442","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js presets && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.5.0_1778930236177_0.22365155558778582","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.8.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.8.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"43cb00d41e653c9d1f5ecbc959bce3b784b4da02","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.8.0.tgz","fileCount":57,"integrity":"sha512-UjSYHt6jjH3dzhP43zQtb0GOHHda2lLi+ROXqWXqheOx6oDqOBqNcG4182lonhQFftS4qTSx0pWsi7LBBFVgGA==","signatures":[{"sig":"MEUCICx1iZ69mB8wda8CzN290yvf6efZTvcNeYFef6OfJ1KlAiEA9qF8P389vSfrEyfVZKL3MMarGwDv6jEPMa/CFUBEvaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268998},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"07c4750bea90b23905b9333d2e0c33e901cc1366","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.8.0_1778931821874_0.26543355853177575","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.9.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.9.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"43259e613864f2d71b1d8be557969c5fb2860ada","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.9.0.tgz","fileCount":61,"integrity":"sha512-WIYBHnMNDZekCZn1skbORpaSMRhBHPKSV/4QlV/UuhlkUbyPQouXNuDApLT3TE7Z3+SpqyGL6u+4AGLcow2Uug==","signatures":[{"sig":"MEUCIQC3I6JrUVa1Yu+3Ta6iPQt6s93F4npKURo5MzT3dEsAPwIgPONfHIvHz4uCvIbGdKmLi6yqhHIMSu1ThHScGOCkxZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283459},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5c23c4f8b2bc97514771a269279907c6d1e3bf08","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.9.0_1778933633376_0.7791796084884088","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@akaanakbaik/pterodactyl-gateway","version":"0.9.1","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@0.9.1","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"19cfae47e0c4c21802eae0ac0d860c9919d6d530","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-0.9.1.tgz","fileCount":61,"integrity":"sha512-bBotfWUmOKpeO6DG+UP0qa3YTK7pJ0KK+ye7fvif/nHwEuZSKj4xNBCkWsIeb0Dpb7S/TC+jqtBXsQEE3gX1og==","signatures":[{"sig":"MEUCIQCIMfMPCGqJZGy9ttFCR3n8EQgJ5+G5o5OWBgQxlL70nwIgRDzHLR8Xp3ujEWFyt2dYUJcLbBZdFY8MkqhdgrptXWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284596},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ed1c655c60b5b1d1e431fc4f6a68faab26613bff","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"deprecated":"Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.0 atau latest.","_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_0.9.1_1778934260301_0.06973928221966652","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@akaanakbaik/pterodactyl-gateway","version":"1.0.0","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@1.0.0","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"cefa7cd0c1405042ed4c96f98e10889186a1947e","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-1.0.0.tgz","fileCount":61,"integrity":"sha512-08rY0/0B7jHJ/VOu+4Ol0J0gjbN6QqNtQ3bbIWNY9Mbnrn+H5aHsQPnJR38mTUFLBD8+TXWNtgfnifydoIZ4uw==","signatures":[{"sig":"MEQCIFkPV7AVwNNhcm9dInuPNAaLpfcb/ndrD9fDvtrXsdsBAiBhaGEY72MrmiAjU6O7BtDUTCk/rC3aIUdSkE89hr53rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284596},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"40cafe4a4a224865200f3540e4750bf4a7eb85c2","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_1.0.0_1778934667871_0.8053548318602097","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@akaanakbaik/pterodactyl-gateway","version":"1.0.1","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-gateway","server-control","typescript"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@1.0.1","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"d02e8ffc8e308dc27aa7cbfed4b9f2ae7c668a7a","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-1.0.1.tgz","fileCount":65,"integrity":"sha512-LnxsZTpl0Lu39Wcw3ntlRjOS//B3c/sJV2DDnOBASiv5Y3pCmzSLF2RiemGuUZpEt+U9IV6iB6xrfHbqlyNohg==","signatures":[{"sig":"MEQCIBluta+lLG+n4nKT+vwbpwhxfUA4ldV8AKdce659G7J2AiAWgYERzBqlSmGzsFvMQmxl8DYbdpjyRbSCFXkp5KlVOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312962},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d94f2401e2ef445c3a163428c65cc6c5b68cc584","scripts":{"cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"_npmVersion":"10.9.7","description":"SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_1.0.1_1778938942288_0.16839530251293788","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@akaanakbaik/pterodactyl-gateway","version":"1.0.2","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-cli","pterodactyl-client","pterodactyl-application-api","pterodactyl-client-api","pterodactyl-gateway","server-control","server-management","game-panel","hosting-panel","panel-automation","bot-hosting","whatsapp-bot","telegram-bot","discord-bot","baileys","grammy","discordjs","dashboard","typescript","nodejs","sdk","cli"],"author":{"name":"akaanakbaik"},"license":"MIT","_id":"@akaanakbaik/pterodactyl-gateway@1.0.2","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"homepage":"https://github.com/akaanakbaik/pterodactyl-gateway#readme","bugs":{"url":"https://github.com/akaanakbaik/pterodactyl-gateway/issues"},"bin":{"ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js","ptero-gateway":"dist/cli-entry.js"},"dist":{"shasum":"1eceb404a644ae520874c593303a5abecfc721fe","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-1.0.2.tgz","fileCount":65,"integrity":"sha512-JmtpTX0KqL+xK1eJ2t+xqdCQEBFq2jvBUgYDm2viL2ObAmrbeMEEwAp7rLPa43shItKj43CgycwhyCVHSglnaQ==","signatures":[{"sig":"MEQCIGPdqo9rfYIFPM7ds8yaiEeFlBnyoqdEKAe6loLXsJDeAiBF/sJCLWr4fIpMp1xrY93AUemyLwiEUSDio6pXzNaGIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306134},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"895912f79b176b874900262b49cdbc5ef605b25c","scripts":{"ci":"npm run verify && npm run security:audit","cli":"node dist/cli-entry.js","test":"npm run build && node --test test/*.test.js","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack","wizard":"node dist/wizard-cli.js","test:cli":"npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","test:pack":"npm run build && npm pack --dry-run","typecheck":"tsc -p tsconfig.json --noEmit","test:release":"node scripts/release-guard.js","prepublishOnly":"npm run verify","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"repository":{"url":"git+https://github.com/akaanakbaik/pterodactyl-gateway.git","type":"git"},"_npmVersion":"10.9.7","description":"TypeScript SDK dan CLI untuk Pterodactyl Panel: create user/server, bot integration, dashboard automation, file manager, backups, schedules, dan server control.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-gateway_1.0.2_1778983013206_0.9281565131357765","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@akaanakbaik/pterodactyl-gateway","version":"1.0.3","description":"Full-featured TypeScript SDK untuk Pterodactyl Panel. Fokus pada kemudahan integrasi untuk developer membangun dashboard, bot, dan sistem otomasi panel yang kompleks.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"ptero-gateway":"dist/cli-entry.js","ptg":"dist/cli-entry.js","ptero-wizard":"dist/wizard-cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"scripts":{"clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","build":"npm run clean && tsc -p tsconfig.json && npm run chmod:bin","chmod:bin":"node -e \"const fs=require('fs'); for (const f of ['dist/cli.js','dist/cli-entry.js','dist/wizard-cli.js']) if (fs.existsSync(f)) fs.chmodSync(f, 0o755)\"","typecheck":"tsc -p tsconfig.json --noEmit","test":"npm run build && node --test test/*.test.js","test:cli":"npm run build && node dist/cli-entry.js help","test:pack":"npm run build && npm pack --dry-run","test:release":"node scripts/release-guard.js","security:audit":"npm audit --audit-level=high","ci":"npm run verify && npm run security:audit","cli":"node dist/cli-entry.js","wizard":"node dist/wizard-cli.js","verify":"npm run typecheck && npm test && npm run test:cli && npm run test:pack","prepublishOnly":"npm run verify"},"keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-cli","pterodactyl-client","pterodactyl-application-api","pterodactyl-client-api","pterodactyl-gateway","server-control","server-management","game-panel","hosting-panel","panel-automation","bot-hosting","whatsapp-bot","telegram-bot","discord-bot","baileys","grammy","discordjs","dashboard","typescript","nodejs","sdk","cli"],"author":{"name":"akaanakbaik"},"license":"MIT","homepage":"https://github.com/akaanakbaik/pterodactyl-gateway#readme","repository":{"type":"git","url":"git+https://github.com/akaanakbaik/pterodactyl-gateway.git"},"bugs":{"url":"https://github.com/akaanakbaik/pterodactyl-gateway/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"devDependencies":{"@types/node":"^20.11.30","@types/nodemailer":"^8.0.1","@types/ws":"^8.18.1","typescript":"^5.4.5"},"dependencies":{"nodemailer":"^9.0.3","ws":"^8.21.0"},"gitHead":"7709aa176e322d658cb185a80037b44992e5e9ff","_id":"@akaanakbaik/pterodactyl-gateway@1.0.3","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-kc9aR0f+AsI9Zt97CiELnPtlfeiB2zwVvR0CFGlumtEJsXfT/y/5rfScmpLFdquSOQo2MjMHgiMqn4rrx9iQYQ==","shasum":"d939523596a3dcf583acedbd47296a762db8549f","tarball":"https://registry.npmjs.org/@akaanakbaik/pterodactyl-gateway/-/pterodactyl-gateway-1.0.3.tgz","fileCount":73,"unpackedSize":341042,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCbvKxnmmmYUBKUNkwgGUvLr4sjOtUb9FE0HrcAaRFcygIhAIUuEONJSqTXw4M/0m08Yx0MeCBS4KCrbq806XtfFWiX"}]},"_npmUser":{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"},"directories":{},"maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pterodactyl-gateway_1.0.3_1783279889476_0.26208890915233063"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-16T10:06:29.719Z","modified":"2026-07-05T19:31:29.766Z","0.3.0":"2026-05-16T10:06:30.020Z","0.3.1":"2026-05-16T10:21:36.583Z","0.4.0":"2026-05-16T11:01:37.026Z","0.5.0":"2026-05-16T11:17:16.358Z","0.8.0":"2026-05-16T11:43:42.049Z","0.9.0":"2026-05-16T12:13:53.529Z","0.9.1":"2026-05-16T12:24:20.450Z","1.0.0":"2026-05-16T12:31:08.025Z","1.0.1":"2026-05-16T13:42:22.444Z","1.0.2":"2026-05-17T01:56:53.395Z","1.0.3":"2026-07-05T19:31:29.651Z"},"bugs":{"url":"https://github.com/akaanakbaik/pterodactyl-gateway/issues"},"author":{"name":"akaanakbaik"},"license":"MIT","homepage":"https://github.com/akaanakbaik/pterodactyl-gateway#readme","keywords":["pterodactyl","pterodactyl-panel","pterodactyl-api","pterodactyl-sdk","pterodactyl-cli","pterodactyl-client","pterodactyl-application-api","pterodactyl-client-api","pterodactyl-gateway","server-control","server-management","game-panel","hosting-panel","panel-automation","bot-hosting","whatsapp-bot","telegram-bot","discord-bot","baileys","grammy","discordjs","dashboard","typescript","nodejs","sdk","cli"],"repository":{"type":"git","url":"git+https://github.com/akaanakbaik/pterodactyl-gateway.git"},"description":"Full-featured TypeScript SDK untuk Pterodactyl Panel. Fokus pada kemudahan integrasi untuk developer membangun dashboard, bot, dan sistem otomasi panel yang kompleks.","maintainers":[{"name":"akaanakbaik","email":"khaliqarrasyidabdul@gmail.com"}],"readme":"# Akadev Pterodactyl Gateway\n\n[![NPM Version](https://img.shields.io/npm/v/@akaanakbaik/pterodactyl-gateway.svg?style=flat-flat&color=brightgreen)](https://www.npmjs.com/package/@akaanakbaik/pterodactyl-gateway)\n[![License](https://img.shields.io/github/license/akaanakbaik/pterodactyl-gateway.svg?style=flat-flat&color=blue)](https://github.com/akaanakbaik/pterodactyl-gateway/blob/main/LICENSE)\n[![Node Version](https://img.shields.io/node/v/@akaanakbaik/pterodactyl-gateway.svg?style=flat-flat)](https://nodejs.org)\n[![NPM Downloads](https://img.shields.io/npm/dm/@akaanakbaik/pterodactyl-gateway.svg?style=flat-flat)](https://www.npmjs.com/package/@akaanakbaik/pterodactyl-gateway)\n\n**SDK TypeScript & JavaScript Modern untuk Pterodactyl Panel dengan fitur Auto-Deployment, WebSocket Auto-Reconnect, Ekspor Backup Otomatis ke Email, dan Fluent Schedule Builder.**\n\n[**npm**](https://www.npmjs.com/package/@akaanakbaik/pterodactyl-gateway) · [**GitHub**](https://github.com/akaanakbaik/pterodactyl-gateway)\n\n---\n\n## 1. Inisialisasi & Diagnostik\n\nMemulai koneksi ke Pterodactyl Panel menggunakan domain, Application API Key (PTLA) untuk tindakan admin, dan Client API Key (PTLC) untuk tindakan pengguna.\n\n```typescript\nimport { createPtero } from \"@akaanakbaik/pterodactyl-gateway\";\n\nconst ptero = createPtero({\n  domain: \"panel.example.com\",\n  ptla: \"ptla_your_application_key\",\n  ptlc: \"ptlc_your_client_key\",\n  debug: true\n});\n```\n\n### Cek Koneksi (Laten & Mode)\n```typescript\nconst conn = await ptero.connect();\nconsole.log(conn.ok, conn.mode, conn.latency);\n```\n\n### Analisis Doctor (Pengecekan Izin API)\n```typescript\nconst report = await ptero.doctor();\nconsole.log(report.ok, report.checks);\n```\n\n---\n\n## 2. Manajemen Pengguna (User Management)\n\nMelakukan operasi CRUD penuh pada akun admin/pengguna panel.\n\n### Buat User Baru (Smart Get or Create)\n```typescript\nconst user = await ptero.smart.users.getOrCreate({\n  username: \"customer_akadev\",\n  email: \"customer@akadev.me\",\n  password: \"auto\",\n  administrator: false\n});\nconsole.log(user.id, user.username, user.email);\n```\n\n### Buat User Baru (Raw)\n```typescript\nconst newUser = await ptero.application.users.create({\n  username: \"user_baru\",\n  email: \"baru@akadev.me\",\n  password: \"PasswordRahasia123!\",\n  root_admin: false,\n  first_name: \"User\",\n  last_name: \"Baru\"\n});\nconsole.log(newUser);\n```\n\n### Ambil Daftar User (Pagination)\n```typescript\nconst list = await ptero.application.users.list(1);\nconsole.log(list.data);\n```\n\n### Detail User Spesifik\n```typescript\nconst userDetail = await ptero.application.users.get(1);\nconsole.log(userDetail.attributes.username);\n```\n\n### Cari User Berdasarkan Email\n```typescript\nconst foundUser = await ptero.application.users.find(\"baru@akadev.me\");\nconsole.log(foundUser);\n```\n\n### Update Data User\n```typescript\nconst updated = await ptero.application.users.update(1, {\n  username: \"user_diupdate\",\n  email: \"update@akadev.me\",\n  first_name: \"Nama\",\n  last_name: \"Baru\"\n});\nconsole.log(updated);\n```\n\n### Hapus User\n```typescript\nawait ptero.application.users.delete(1);\n```\n\n---\n\n## 3. Manajemen Lokasi & Node\n\nMelihat lokasi wilayah dan mengelola node/alokasi port server Pterodactyl.\n\n### List & Detail Lokasi\n```typescript\nconst locations = await ptero.application.locations.list();\nconsole.log(locations.data);\n\nconst location = await ptero.application.locations.get(1);\nconsole.log(location);\n```\n\n### List & Detail Node\n```typescript\nconst nodes = await ptero.application.nodes.list();\nconsole.log(nodes.data);\n\nconst node = await ptero.application.nodes.get(1);\nconsole.log(node.attributes.name);\n\nconst nodeConfig = await ptero.application.nodes.config(1);\nconsole.log(nodeConfig);\n```\n\n### Manajemen Alokasi Port Node\n```typescript\nconst allocations = await ptero.application.nodes.allocations.list(1);\nconsole.log(allocations.data);\n\nawait ptero.application.nodes.allocations.create(1, {\n  ip: \"192.168.1.100\",\n  ports: [\"25565\", \"25566\"]\n});\n\nawait ptero.application.nodes.allocations.delete(1, 100);\n```\n\n---\n\n## 4. Manajemen Nest & Egg\n\nMembaca struktur Nest (kategori) dan Egg (konfigurasi startup server).\n\n### List & Detail Nest\n```typescript\nconst nests = await ptero.application.nests.list();\nconsole.log(nests.data);\n\nconst nest = await ptero.application.nests.get(5);\nconsole.log(nest.attributes.name);\n\nconst nestByName = await ptero.application.nests.find(\"nodejs\");\nconsole.log(nestByName.id);\n```\n\n### List & Detail Egg\n```typescript\nconst eggs = await ptero.application.nests.eggs.list(5);\nconsole.log(eggs.data);\n\nconst egg = await ptero.application.nests.eggs.get(5, 15);\nconsole.log(egg.attributes.name);\n\nconst eggByName = await ptero.application.nests.eggs.find(5, \"Egg Bot Wa\");\nconsole.log(eggByName.id);\n```\n\n---\n\n## 5. Manajemen Server (Administrasi & Deployment)\n\nMendeploy server baru secara otomatis, mengubah spesifikasi, pemilik, dan nest/egg.\n\n### Smart Server Preview (Uji Payload Sebelum Deploy)\n```typescript\nconst preview = await ptero.smart.servers.preview({\n  name: \"Server Uji Coba\",\n  description: \"Server test deploy\",\n  email: \"customer@akadev.me\",\n  autoCreateUser: true,\n  nodeId: 1,\n  nestId: 5,\n  eggId: 15,\n  preset: \"mini\"\n});\nconsole.log(preview.payload, preview.allocation);\n```\n\n### Deploy Server Baru\n```typescript\nconst server = await ptero.smart.servers.create({\n  name: \"Server Game Akadev\",\n  description: \"Dibuat otomatis oleh SDK\",\n  email: \"customer@akadev.me\",\n  autoCreateUser: true,\n  nodeId: 1,\n  nestId: 5,\n  eggId: 15,\n  preset: \"standard\",\n  startOnCompletion: true\n});\nconsole.log(server.id, server.identifier);\n```\n\n### Ambil Detail Lengkap Server Admin\n```typescript\nconst details = await ptero.getServerDetails(18);\nconsole.log(details.name, details.nodeName, details.userEmail);\n```\n\n### Update Spesifikasi / Limits Server\n```typescript\nawait ptero.smart.servers.updateSpecs(18, {\n  memory: \"4GB\",\n  disk: \"10GB\",\n  cpu: \"200%\",\n  databases: 2,\n  backups: 2,\n  allocations: 1\n});\n```\n\n### Pindahkan Kepemilikan Server\n```typescript\nawait ptero.smart.servers.changeOwnership(18, {\n  userId: 2\n});\n```\n\n### Ubah Nest & Egg Server\n```typescript\nawait ptero.smart.servers.changeNestEgg(18, {\n  nestId: 5,\n  eggId: 15,\n  dockerImage: \"ghcr.io/parkervcp/yolks:nodejs_22\",\n  startup: \"npm start\"\n});\n```\n\n### Kontrol Status Server (Admin)\n```typescript\nawait ptero.application.servers.suspend(18);\nawait ptero.application.servers.unsuspend(18);\nawait ptero.application.servers.reinstall(18);\n```\n\n### Hapus Server (Permanen & Paksa)\n```typescript\nawait ptero.application.servers.delete(18, true);\n```\n\n### Operasi Batch (Multi Server)\n```typescript\nawait ptero.batchServerOperation([18, 19, 20], \"suspend\");\nawait ptero.batchServerOperation([18, 19, 20], \"unsuspend\");\nawait ptero.batchServerOperation([18, 19, 20], \"delete\", { force: true });\n```\n\n---\n\n## 6. Kontrol Client Server\n\nInteraksi pengguna akhir dengan server (Client API).\n\n```typescript\nconst server = ptero.server(\"ca7b58fd\");\n```\n\n### Sinyal Power Server\n```typescript\nawait server.power(\"start\");\nawait server.power(\"stop\");\nawait server.power(\"restart\");\nawait server.power(\"kill\");\n```\n\n### Kirim Perintah ke Konsol\n```typescript\nawait server.command(\"say Halo Dunia!\");\n```\n\n### Ambil Penggunaan Resource Live\n```typescript\nconst res = await server.resources();\nconsole.log(res.attributes.state, res.attributes.resources.cpu_absolute);\n```\n\n---\n\n## 7. Pengelola File Server (Client File Manager)\n\nMengelola file dan direktori di dalam kontainer server game/bot.\n\n### Tulis & Baca File\n```typescript\nawait server.files.write(\"/index.js\", \"console.log('Akadev Gateway');\");\n\nconst data = await server.files.read(\"/index.js\");\nconsole.log(data);\n```\n\n### List File & Folder\n```typescript\nconst list = await server.files.list(\"/\");\nconsole.log(list.data);\n```\n\n### Buat Folder Baru\n```typescript\nawait server.files.mkdir(\"/\", \"dist\");\n```\n\n### Ganti Nama / Pindahkan File\n```typescript\nawait server.files.rename(\"/\", [\n  { from: \"index.js\", to: \"main.js\" }\n]);\n```\n\n### Kompres & Dekompres\n```typescript\nawait server.files.compress(\"/\", [\"main.js\", \"dist\"]);\nawait server.files.decompress(\"/\", \"main.js.tar.gz\");\n```\n\n### Hapus File / Folder\n```typescript\nawait server.files.delete(\"/\", [\"main.js\", \"dist\", \"main.js.tar.gz\"]);\n```\n\n### Operasi File JSON Praktis\n```typescript\nawait server.files.json.write(\"/config.json\", { port: 3000, debug: false });\n\nconst config = await server.files.json.read(\"/config.json\");\nconsole.log(config);\n```\n\n---\n\n## 8. Pengelola Port & Jaringan Server\n\nMengelola alokasi alamat port pada server.\n\n### List Port Terpilih\n```typescript\nconst net = await server.network.list();\nconsole.log(net.data);\n```\n\n### Alokasikan Port Tambahan\n```typescript\nawait server.network.assign();\n```\n\n### Set Note / Catatan Port\n```typescript\nawait server.network.setNote(21, \"Port untuk bot whatsapp\");\n```\n\n### Set Port Utama (Primary Allocation)\n```typescript\nawait server.network.setPrimary(21);\n```\n\n### Hapus Alokasi Port Tambahan\n```typescript\nawait server.network.delete(21);\n```\n\n---\n\n## 9. Pengelola Database Server\n\nMengelola database MySQL server.\n\n### List Database Server\n```typescript\nconst dbs = await server.databases.list();\nconsole.log(dbs.data);\n```\n\n### Buat Database Baru\n```typescript\nconst db = await server.databases.create(\"game_db\");\nconsole.log(db.attributes.id, db.attributes.relationships.password);\n```\n\n### Ganti Password Database\n```typescript\nawait server.databases.rotatePassword(\"db_id_xxx\");\n```\n\n### Hapus Database\n```typescript\nawait server.databases.delete(\"db_id_xxx\");\n```\n\n---\n\n## 10. Pengelola Backup Server\n\nMembuat dan memulihkan file pencadangan.\n\n### List Backup Server\n```typescript\nconst backups = await server.backups.list();\nconsole.log(backups.data);\n```\n\n### Buat Backup Baru (Dengan Auto-Filter Opsional)\n```typescript\nconst backup = await server.backups.create(\"backup_clean\", \"node_modules\\nvendor\\ntmp\");\nconsole.log(backup.attributes.uuid);\n```\n\n### Detail Backup\n```typescript\nconst backupDetail = await server.backups.get(\"backup_uuid_xxx\");\nconsole.log(backupDetail.attributes.bytes);\n```\n\n### Dapatkan Link Download Backup\n```typescript\nconst downloadLink = await server.backups.download(\"backup_uuid_xxx\");\nconsole.log(downloadLink.attributes.url);\n```\n\n### Hapus Backup\n```typescript\nawait server.backups.delete(\"backup_uuid_xxx\");\n```\n\n---\n\n## 11. WebSocket Real-time Stream\n\nMendengarkan event status server, log konsol, dan penggunaan memori/CPU secara real-time. Dilengkapi mekanisme auto-reconnect dan auto token-refresh jika sambungan terputus.\n\n```typescript\nconst ws = server.websocket.create();\n\nws.onConsole((log) => {\n  console.log(\"Console:\", log);\n});\n\nws.onStats((stats) => {\n  console.log(\"RAM:\", stats.memory_bytes, \"CPU:\", stats.cpu_absolute);\n});\n\nws.onStatus((status) => {\n  console.log(\"Status:\", status);\n});\n\nawait ws.connect();\n```\n\n---\n\n## 12. Fluent Schedule Builder\n\nMembuat jadwal tugas terjadwal (Cron Job) bawaan panel menggunakan struktur builder terantai.\n\n```typescript\nconst schedule = server.createScheduleBuilder()\n  .setName(\"Pembersihan Mingguan\")\n  .setCron(\"0 0 * * 0\")\n  .setOnlyWhenOnline(true)\n  .addTask(\"command\", \"say Server membersihkan data cache...\", 0, true)\n  .addTask(\"command\", \"npm run clean\", 10, false)\n  .addTask(\"backup\", \"\", 30, false);\n\nawait schedule.save();\n```\n\n---\n\n## 13. SMTP Email & Auto Backup Exporter (.zip)\n\nMengirim email pemberitahuan ke pelanggan dan melakukan pencadangan zip otomatis secara eksternal. Secara otomatis membaca konfigurasi SMTP Host, Port, Username, Password, dan Pengirim dari file `/var/www/pterodactyl/.env` di server panel Anda.\n\n### Kirim Email Tertarget ke Pengguna\n```typescript\nawait ptero.email.sendToUser(1, {\n  subject: \"Pengumuman Pembayaran Server\",\n  html: \"<h2>Halo</h2><p>Server Anda akan segera jatuh tempo dalam 3 hari.</p>\",\n  attachments: [\n    {\n      filename: \"invoice.pdf\",\n      path: \"/tmp/invoice.pdf\"\n    }\n  ]\n});\n```\n\n### Kirim Email Broadcast Massal ke Seluruh Pengguna\n```typescript\nawait ptero.email.broadcast({\n  subject: \"Pemeliharaan Node Server Indonesia\",\n  html: \"<h3>Pemberitahuan Sistem</h3><p>Node ID 1 akan dimatikan sementara untuk pemeliharaan RAM.</p>\"\n});\n```\n\n### Auto Backup Exporter via Email (.zip)\nSecara otomatis membuat backup di panel dengan menyaring folder-folder berat (`node_modules`, `vendor`, `cache`, `tmp`, `temp`, `.git`), mengunduh file hasil backup, mengompres ulangnya ke ekstensi `.zip`, mengirimkannya langsung ke email pemilik server, dan menghapus sisa file backup di panel.\n```typescript\nawait ptero.exportAndEmailBackup(18);\n```\n\n### Backup Massal Pengguna\n```typescript\nawait ptero.backupAndEmailUserServers(1);\n```\n\n---\n\n## Keamanan & Penggunaan Terbuka\n- Simpan kredensial Anda di environment variables (`PTERO_DOMAIN`, `PTERO_PTLA`, `PTERO_PTLC`).\n- Gunakan `PteroGateway.fromEnv()` untuk pemanggilan otomatis dari konfigurasi environment variables.\n- SDK ini dipastikan bebas dari baris komentar di seluruh source kodenya.\n\n---\n\nDibuat dengan ❤️ oleh [akaanakbaik](https://github.com/akaanakbaik)\n","readmeFilename":"README.md"}