╔══════════════════════════════════════════════════════════════╗
║     PANDUAN INSTALL DI SHARED HOSTING (cPanel/WHM)          ║
╚══════════════════════════════════════════════════════════════╝

⚠️  PENTING: Di shared hosting, database HARUS dibuat manual!

═══════════════════════════════════════════════════════════════
STEP 1: BUAT DATABASE DI cPANEL
═══════════════════════════════════════════════════════════════

1. Login ke cPanel hosting kamu
2. Cari menu "MySQL® Databases" atau "Database MySQL"
3. Di bagian "Create New Database":
   
   Database Name: motion_paths
   
   Klik [Create Database]

4. Scroll ke bagian "MySQL Users", buat user baru:
   
   Username: motion_user
   Password: [buat password yang kuat!]
   
   Klik [Create User]

5. Scroll ke bagian "Add User To Database":
   
   User: motion_user
   Database: motion_paths
   
   Klik [Add]

6. Di halaman "Manage User Privileges":
   
   Centang [ALL PRIVILEGES]
   
   Klik [Make Changes]

✅ Database siap!

═══════════════════════════════════════════════════════════════
STEP 2: IMPORT SQL FILE
═══════════════════════════════════════════════════════════════

1. Kembali ke cPanel, cari "phpMyAdmin"
2. Klik database "motion_paths" di sidebar kiri
3. Klik tab "Import" di atas
4. Klik [Choose File]
5. Pilih file: schema_shared_hosting.sql ⚠️ JANGAN schema.sql!
6. Scroll ke bawah, klik [Go] atau [Import]

✅ Tables berhasil dibuat!

═══════════════════════════════════════════════════════════════
STEP 3: EDIT CONFIG.PHP
═══════════════════════════════════════════════════════════════

Buka file: api/config.php

Ganti dengan info database kamu:

SEBELUM (contoh):
-----------------
define('DB_HOST', 'localhost');
define('DB_NAME', 'motion_paths');
define('DB_USER', 'root');
define('DB_PASS', '');

SESUDAH (sesuaikan dengan database kamu):
------------------------------------------
define('DB_HOST', 'localhost');
define('DB_NAME', 'cpanel_username_motion_paths');  ⚠️ PREFIX!
define('DB_USER', 'cpanel_username_motion_user');   ⚠️ PREFIX!
define('DB_PASS', 'password_kamu_tadi');

⚠️  CATATAN PREFIX:
Di shared hosting, nama database & user biasanya ada prefix username.
Contoh: 
- Username cPanel: dewypoy
- Database jadi: dewypoy_motion_paths
- User jadi: dewypoy_motion_user

Cek di cPanel → MySQL Databases untuk nama lengkapnya!

═══════════════════════════════════════════════════════════════
STEP 4: GANTI API KEY (WAJIB!)
═══════════════════════════════════════════════════════════════

Di api/config.php, ganti:

define('API_KEY', 'motion_api_key_2024_secure_token_change_this');

Jadi:

define('API_KEY', 'KEY_RAHASIA_KAMU_DISINI_12345');

Buat yang unik dan panjang! Contoh generator:
https://randomkeygen.com/

═══════════════════════════════════════════════════════════════
STEP 5: UPLOAD FILE KE HOSTING
═══════════════════════════════════════════════════════════════

Via File Manager cPanel:
1. Buka File Manager
2. Masuk ke folder public_html (atau htdocs)
3. Upload folder "api" dan "panel"
4. Upload selesai!

Via FTP (FileZilla):
1. Connect ke FTP hosting
2. Masuk ke public_html
3. Drag & drop folder "api" dan "panel"

Struktur akhir:
public_html/
├── api/
│   ├── config.php
│   ├── upload.php
│   ├── download.php
│   └── ...
└── panel/
    ├── login.php
    ├── dashboard.php
    └── ...

═══════════════════════════════════════════════════════════════
STEP 6: SET PERMISSION FOLDER UPLOADS
═══════════════════════════════════════════════════════════════

Di File Manager atau FTP:

1. Buat folder: public_html/api/uploads/paths/
2. Klik kanan folder "uploads"
3. Pilih "Change Permissions" atau "Chmod"
4. Set ke: 755 atau 775
5. Centang "Recursive" jika ada
6. Save

═══════════════════════════════════════════════════════════════
STEP 7: TEST INSTALASI
═══════════════════════════════════════════════════════════════

Buka browser, akses:

1. Test API:
   https://yourwebsite.com/api/test.php
   
   Harus muncul:
   ✅ Database connected successfully!
   ✅ Upload directory is writable

2. Test Panel:
   https://yourwebsite.com/panel/login.php
   
   Login: admin / admin123
   
   ✅ Harus bisa masuk dashboard

═══════════════════════════════════════════════════════════════
STEP 8: EDIT LUA SCRIPT
═══════════════════════════════════════════════════════════════

Buka: lua/McPunya_MySQL.lua

Ganti baris:

local API_BASE_URL = "https://yourwebsite.com/motion-system/api"
local API_KEY = "motion_api_key_2024_secure_token_change_this"

Jadi:

local API_BASE_URL = "https://yourwebsite.com/api"
local API_KEY = "KEY_KAMU_YANG_SUDAH_DIGANTI"

Save, load di Roblox executor!

═══════════════════════════════════════════════════════════════
TROUBLESHOOTING
═══════════════════════════════════════════════════════════════

❌ Error "Access denied for user"
   → Cek DB_USER, DB_PASS, DB_NAME di config.php
   → Pastikan user sudah di-assign ke database (Step 1)

❌ Error "Database not found"
   → Cek nama database ada prefix atau tidak
   → Lihat di cPanel → MySQL Databases

❌ Error "Upload directory not writable"
   → Chmod 755 atau 775 folder uploads
   → Pastikan folder uploads/paths/ exists

❌ Panel login gagal
   → Cek database, tabel admins harus ada
   → Default: admin / admin123

❌ API return "Invalid API key"
   → Pastikan API_KEY di config.php sama dengan di Lua
   → Case sensitive!

═══════════════════════════════════════════════════════════════
KEAMANAN (PENTING!)
═══════════════════════════════════════════════════════════════

1. ⚠️  GANTI password admin default!
   Login panel → ganti password

2. ⚠️  GANTI API_KEY dengan yang unik!
   
3. ⚠️  Jangan share API_KEY ke orang lain!

4. Backup database secara berkala
   cPanel → phpMyAdmin → Export

═══════════════════════════════════════════════════════════════

Need help? Contact support atau cek error di:
- public_html/api/test.php
- Browser Console (F12)
- cPanel Error Logs

Good luck! 🚀
