Dokumentasi Steamworks
71 hasil pencarian ditemukan untuk "WA 0812 2782 5310 [[PANDAWA]] Pesan Aspal Jalan Proyek Terpercaya Tangen Sragen"
Pengembangan untuk SteamOS dan Linux

Untuk yang memiliki pengalaman dengan alat pengembangan Windows, jalan termudah ke pengembangan Linux adalah dengan menggunakan Visual Studio untuk Windows dan [url=https://marketplace.visualstudio.com/items?…

[section]Repositori GitHub[/section] Repositori berikut bersifat publik dan digunakan untuk proyek-proyek yang terkait dengan Steam untuk Linux: [list] [*] [url=https://github.com/ValveSoftware/steam-for-linux]steam-for-linux[/url] - Berisi konten untuk Steam untuk client Linux dan pelacak bug untuk Steam Client di Linux [*] [url=https://github.com/ValveSoftware/steam-runtime]steam-runtime[/url] - Berisi proyek Runtime Linux Steam. …

Antarmuka ISteamMicroTxn

Lihat: [doclink=features/microtransactions/implementation#error_codes][/doclink] [*] [code-inline]errordesc[/code-inline] - Pesan eror atau peristiwa. [/list] [/list] [/list] [b]Contoh Respons:[/b] [code=xml] <response> <result>OK</result> <params> <state>WA</state> <country>US</country> <currency>USD</currency> </params> </response> [/code] [section=InitTxn]InitTxn[/section] [code=http]POST https://partner.steam-api.com/ISteamMicroTxn/InitTxn/v3/[/code] [table] [tr][th]Nama[/th][th]Jenis[/th][th]Diperlukan[/th][th]Deskripsi[/th][/tr] [tr] [td][b]key[/b][/td][td]string[/td] [td]✔[/td] [td]Web API Steamworks [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]key penerbit[/url] dengan perizinan [b]Transaksi Mikro[/b].…

Lihat: [doclink=features/microtransactions/implementation#error_codes][/doclink] [*] [code-inline]errordesc[/code-inline] - Pesan eror atau peristiwa. [/list] [/list] [/list] [b]Contoh Respons:[/b] [code=xml] <response> <result>OK</result> <params> <orderid>938474</orderid> <transid>374839</transid> </params> </response> [/code] …

Cara melakukan debug game Windows di Steam Deck dan Steam Machine

Salin proyek lalu ubah direktori saat ini: [code] git clone --recursive https://gitlab.steamos.cloud/jupiter/vulkan-examples.git cd vulkan-examples [/code] Proyeknya berisi berbagai contoh kecil Vulkan yang terletak di direktori "examples". …

[subsection]Contoh Unreal Engine 4[/subsection] Buat akun Epic Games jika belum memiliki akun, kemudian [url=https://www.unrealengine.com/en-US/get-now]unduh[/url] dan instal Unreal Engine 4. Sebagai contoh, kami akan menggunakan salah satu contoh proyek yang tersedia di Unreal Editor. Buat proyek baru dan pilih templat "Puzzle" [docimg=Screenshot_2021-07-16_072803.png]Screenshot_2021-07-16_072803.png[/docimg] Pilih nama proyek dan lokasinya [docimg=Screenshot_2021-07-15_082533.png]Screenshot_2021-07-15_082533.png[/docimg] Buka "Edit"->"Project settings"->"Packaging" lalu pilih "Debug" atau "DebugGame" sebagai konfigurasi build. …

Kurator dan Curator Connect

Kamu bisa mencari dan memfilter daftar Kurator yang cocok untuk game-mu dengan Curator Connect. Lalu, kamu bisa membuat pesan khusus dan mengirim kopian produkmu langsung melalui Steam. Tidak perlu menggunakan email ataupun key. [docimg=Documentation_CuratorConnect_Preview.jpg]Documentation_CuratorConnect_Preview.jpg[/docimg] [sup]Kurator akan melihat pratinjau game-mu, serta tiga screenshot pertama yang ada di halaman tokomu, dan pesan yang kamu tulis.…

Sebaiknya cari Kurator yang memiliki audiens yang mungkin akan tertarik dengan game-mu. [*][b]Membuat pesan[/b] - Kamu juga harus memberikan pesan kepada Kuratornya. Pesan yang singkat, padat, dan jelas. Bersamaan dengan pesannya, kami juga menyertakan info game-mu seperti nama, logo, screenshot, dan tag utama secara otomatis. …

Mendistribusikan Game/Mod Source Engine

Secara default, kami harap mod adalah: (a) bersifat nonkomersial (b) menggunakan SDK resmi salah satu game kami (c) memiliki deskripsi jelas sebagai proyek komunitas. [h4]Nonkomersial[/h4] "Nonkomersial," berarti siapa pun yang memiliki game Valve asli dapat mengunduh dan menjalankan mod secara gratis. …

[/h4] [b]A.[/b] Pendekatan kami telah berkembang seiring waktu dan proyek-proyek yang kamu maksud pun sudah tua. [*] [h4]Q: Bagaimana dengan mod untuk game di Steam yang tidak dikembangkan oleh Valve? [/h4] [b]A.…

Properti Dinamis Item Inventaris Steam

Kami menyarankanmu untuk hanya memasukkan properti yang kamu setujui untuk pengaturan client tidak terpercaya (mis. pengguna dapat memalsukan pesan untuk mengisi nilai sesuka hati mereka). Saat ini, kamu dapat memodifikasi hingga 100 item untuk pengguna per panggilan. …

FAQ Pelaporan dan Pembayaran

Lihat dokumentasi [doclink=gettingstarted/managing_users][/doclink] untuk info lebih lanjut. [*] [b]Q. Mengapa data penjualan yang ada di situs partner terpercaya berbeda dengan yang ada dalam Laporan Penjualan Steam bulanan?[/b] A. Informasi penjualan yang tersedia di situs partner terpercaya menggambarkan Pendapatan Kotor yang belum dikurangi Penyesuaian yang Berlaku seperti retur, tolak bayar, dan pajak. …

Bisakah saya mengunduh Laporan Penjualan Steam bulanan dalam format Excel?[/b] A. Pada halaman beranda di situs partner terpercaya, selain pilihan waktu, kamu juga bisa menemukan tautan untuk "lihat sebagai .csv". Atau, di Laporan Penjualan Steam yang bisa dilihat di [url=https://partner.steampowered.com/]situs partner[/url] terpercaya di "Tab Laporan", kamu bisa menemukan tautan di akhir laporan yang bertajuk "Penjualan Steam Berdasarkan Negara" untuk mengunduh dalam format Excel. [*] [b]Q. …

Multipemain

Untuk memfasilitasi game multipemain di Steam, ada banyak opsi yang tersedia dan jalan yang berbeda yang dapat diambil. Sebelum memulai, kamu sebaiknya sudah memiliki jawaban atas pertanyaan-pertanyaan berikut ini: [h4]Apakah game-mu sudah mendukung jaringan?…

Membawa Game Seluler ke Steam

Selain saran-saran ini, kamu mungkin ingin melihat seminar GDC James Vaughan tentang membawa game Plague Inc. dari ponsel ke PC: http://www.gdcvault.com/play/1021963/Evolving-Plague-Inc-Taking-a [section]Hal-hal yang perlu diingat[/section] [h4]Konteks[/h4] Pemain PC lebih menyukai pengalaman jangka panjang yang dapat mereka nikmati lebih lama. Baik untuk menikmati jalan ceritanya atau menjadi lebih jago dalam teka-teki atau level yang sulit. Konten pendek yang biasanya sukses di seluler (bisa dimainkan saat menunggu bis) secara historis tidak berjalan dengan baik di PC. …

Langkah demi Langkah: Papan Peringkat

Pilih antara Numerik, Detik, atau Milidetik. [*] [b]Tulis[/b] - Jika disetel ke Terpercaya, skor papan peringkat tidak dapat diatur oleh client, dan hanya dapat diatur melalui Web API SetLeaderboardScore. Default-nya adalah false. [*] [b]Baca[/b] - Jika disetel ke Teman, game hanya akan dapat membaca skor papan peringkat teman-teman pengguna. …

[/code] [section]Langkah 4 - Pengujian dan Troubleshoot[/section] Kode contoh ini mengeluarkan informasi debug ke konsol debug yang dapat membantumu mengidentifikasi panggilan mana yang berhasil dan gagal. Berikut ini adalah beberapa pesan kegagalan umum dan perbaikannya: [b]Aplikasi ini gagal dijalankan karena steam_api.dll tidak ditemukan. Menginstal ulang aplikasi dapat memperbaiki masalah ini.…

Steam Datagram Relay

Ini adalah saluran dengan bandwidth rendah, tidak sensitif terhadap latensi, memiliki upaya terbaik yang mampu meneruskan pesan rendezvous sesekali yang digunakan untuk menegosiasikan perutean. Ini mengharuskan client untuk memiliki koneksi yang stabil ke layanan matchmaking-mu untuk mengirim pesan ke layanan tersebut, seperti koneksi websocket atau TCP. …

Kamu perlu mengimplementasikan subkelas ISteamNetworkingConnectionSignaling, dan ketika SendSignal dipanggil, client harus mengirimkan pesan ke backend-mu, kemudian backend-mu harus melakukan upaya terbaik untuk mengirimkan pesan ke peer. Ketika koneksi dibuat, pertukaran awal 4-10 pesan relatif umum terjadi. …

Menambahkan Moderator Komunitas

[section]Menambahkan moderator dan mengatur perizinan[/section] Kamu dapat mempromosikan anggota komunitas yang terpercaya atau menunjuk anggota timmu sendiri untuk membantu memoderasi Hub Komunitas Steam-mu. Berikut adalah cara untuk melakukan keduanya. …

[subsection=community_moderators]Moderator Komunitas[/subsection] Kamu dapat mempromosikan anggota komunitas terpercaya menajdi "moderator" atau "admin" di komunitas aplikasimu untuk membantu memoderasi konten. Kedua level tersebut dapat diberikan perizinan yang berbeda dengan mengunjungi [code-inline]http://steamcommunity.com/ogg/<appID>/permissionsEdit[/code-inline]. …

Layanan Inventaris Steam

[section=Description]Deskripsi[/section] Layanan Inventaris bisa digunakan dengan dua cara - tanpa server atau dengan tambahan server terpercaya yang mengetahui status game. Tanpa server game, client game bisa berkomunikasi langsung dengan layanan Steam untuk menarik konten inventaris pengguna, menggunakan dan mempertukarkan item, dan menerima item baru yang diberikan berdasarkan waktu bermain. …

API dipanggil menggunakan "Key API Client" internal yang diasumsikan tidak aman. Jika kamu memiliki server terpercaya yang terdaftar, maka kamu dapat menggunakan key API Steam istimewa di server dan memberikan item eksplisit di situasi yang tepat. …

Autentikasi Pengguna dan Verifikasi Kepemilikan

API juga berisi merode terlindungi yang memerlukan autentikasi dan ditujukan untuk diakses dari backend aplikasi terpercaya. Rincian selengkapnya terkait Web API dapat ditemukan [doclink=webapi_overview]di sini[/doclink]. [section=client_to_client]P2P atau Server Game[/section] [subsection]Tiket Sesi[/subsection] [h4]Autentikasi Pengguna[/h4] Langkah-langkah di bawah ini menjelaskan tentang cara menggunakan Tiket Sesi untuk memverifikasi identitas pengguna antara client game pengguna (Client A) dan client atau server game lainnya (Client B): [list] [*] Client A harus mengambil tiket sesi dengan memanggil [api]ISteamUser::GetAuthSessionTicket[/api]. [*] Client A harus mengirimkan tiket sesinya ke Client B. [*] Client B harus meneruskan tiket Client A ke [api]ISteamUser::BeginAuthSession[/api], yang akan melakukan pemeriksaan validitas cepat. …

Tiket akan kedaluwarsa dalam 21 hari setelah dikeluarkan [*] Memanggil [api]SteamEncryptedAppTicket::GetTicketSteamID[/api] untuk mengambil ID Steam pengguna [/list] [/list] Contoh implementasinya dapat ditemukan di proyek [doclink=sdk/api/example][/doclink] di SDK. Khususnya [code-inline]CSpaceWarClient::RetrieveEncryptedAppTicket[/code-inline] dan [code-inline]CSpaceWarClient::OnRequestEncryptedAppTicket[/code-inline]. …

Antarmuka IPartnerFinancialsService

Untuk keamanan tambahan, disarankan untuk menggunakan bagian "Kelola Key Web API" di halaman Grup API Finansial untuk menambahkan serangkaian IP yang Masuk Daftar Putih sebagai titik akses terpercaya untuk data finansialmu. Selain itu, kami menyarankan untuk menyimpan key seaman kata sandi lainnya (jangan membagikannya melalui email!) …

[/td][/tr] [/table] [b]Contoh respons:[/b] [code] "response": { "results": [ { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 123, "bundleid":777 "package_sale_type": "Steam", "platform": "Windows", "country_code": "AU", "base_price": "3995", "sale_price": "1995", "currency": "AUD", "gross_units_sold": 10, "gross_units_returned": -2, "gross_sales_usd": "311.7201", "gross_returns_usd": "-25.5322", "net_tax_usd": "26.0431", "primary_appid": 999, "additional_revenue_share_tier": 0, "net_units_sold": 8, "net_sales_usd": "260.1448", "combined_discount_id": 8888, "total_discount_percentage": 50 }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 456, "package_sale_type": "Steam", "platform": "Windows", "country_code": "CA", "base_price": "5999", "sale_price": "5999", "currency": "CAD", "gross_units_sold": 100, "gross_units_returned": 0, "gross_sales_usd": "4309.0101", "gross_returns_usd": "0.0000", "net_tax_usd": "517.0812", "primary_appid": 1099, "additional_revenue_share_tier": 1, "viw_grant_partnerid": "5200", "net_units_sold": 100, "net_sales_usd": "3791.9288", }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "MicroTxn", "appid": 1099, "game_item_id": 1, "country_code": "US", "currency": "USD", "gross_units_sold": 2, "gross_units_returned": 0, "gross_sales_usd": "9.9800", "gross_returns_usd": "0.0000", "net_tax_usd": "0.9980", "primary_appid": 1099, "additional_revenue_share_tier": 1, "net_units_sold": 2, "net_sales_usd": "8.9820", "avg_sale_price_usd": "4.9900" }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 123, "package_sale_type": "Retail", "platform": "Unknown", "country_code": "AE", "primary_appid": 999, "key_request_id": 7100, "gross_units_activated": 10 }, ], "key_request_info": [ { "key_request_id": 7100, "key_request_notes": "Keys for Key Markets", "game_code_id": 842, "game_code_description": "Retail Distribution - Middle East & North Africa", "territory_code_id": 0, "territory_code_description": "UNUSED" } ], "package_info": [ { "packageid": 123, "package_name": "Grate Expectations: Cheese Preparation Simulator - Deluxe Edition" }, { "packageid": 456, "package_name": "Grate Expectations 2: Curd Your Loins - Launch Edition" } ] "app_info": [ { "appid": 999, "app_name": "Grate Expectations: Cheese Preparation Simulator }, { "appid": 1099, "app_name": "Grate Expectations 2: Curd Your Loins" } ], "bundle_info": [ { "bundleid": 777, "bundle_name": "Grate Expectations Deluxe Bundle" }, ], "combined_discount_info": [ { "combined_discount_id": 8888, "combined_discount_name": "Bundle Discount", "total_discount_percentage": 50, "discount_ids": [11111] }, ], "game_item_info": [ { "appid": 1099, "game_item_id": 1, "game_item_description": "500 Grams of Whey", "game_item_category": "Essential Cheese Product" } ], "country_info": [ { "country_code": "AE", "country_name": "United Arab Emirates", "region": "Middle East & North Africa" }, { "country_code": "AU", "country_name": "Australia", "region": "Oceania" }, { "country_code": "CA", "country_name": "Canada", "region": "North America" }, { "country_code": "US", "country_name": "United States", "region": "North America" }, ], "max_id": "29481179373" [/code] [section=GetAppWishlistReporting]GetAppWishlistReporting[/section] [code=http]GET https://partner.steam-api.com/IPartnerFinancialsService/GetAppWishlistReporting/v001/[/code] [b]Nilai permintaan[/b][table] [tr][th]Nama[/th][th]Jenis[/th][th]Diperlukan[/th][th]Description[/th][/tr] [tr] [td][b]key[/b][/td][td]string[/td] [td]✔[/td] [td]Web API Steamworks [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]key penerbit[/url] dengan perizinan [b]Finansial[/b].…

Membuat dan Mengedit Halaman Toko

Hal ini dapat terjadi bahkan jika aplikasimu dalam status belum dirilis atau disembunyikan, jadi berhati-hatilah untuk tidak secara tidak sengaja membagikan game yang belum diumumkan atau proyek DLC rahasia kepada publik dengan cara ini! Jika kamu memilih untuk meninjau halaman tokomu sendiri sebelum memublikasikannya untuk semua orang, pastikan untuk menggunakan Toko Mode Beta seperti dijelaskan di atas. …

Templat File Tindakan dalam Game

Misalnya, ketika perintah "move" selesai, maka bisa digunakan untuk mengatur titik jalan. Sekali lagi, logika semacam ini perlu diterapkan oleh game-nya sendiri. [code] "In Game Actions" { "actions" { "GameControls" { "title" "#Set_GameControls" "StickPadGyro" { "MoveCursor" { "title" "#Action_MoveCursor" "input_mode" "absolute_mouse" } "CameraPan" { "title" "#Action_CameraPan" "input_mode" "absolute_mouse" } "CameraZoom" { "title" "#Action_CameraZoom" "input_mode" "absolute_mouse" } } "Button" { "click" "#Action_Click" "cancel" "#Action_Cancel" "select" "#Action_Select" "select_add_remove" "#Action_AddRemove" "select_type" "#Action_SelectType" "select_idle" "#Action_SelectIdle" "move_attack" "#Action_MoveAttack" "move_no_attack" "#Action_Move" "attack_target" "#Action_Attack" "assign_group" "#Action_AssignGroup" "add_remove_group" "#Action_AddRemoveGroup" "select_group" "#Action_SelectGroup" "group_0" "#Action_Group0" "group_1" "#Action_Group1" "group_2" "#Action_Group2" "group_3" "#Action_Group3" "group_4" "#Action_Group4" "group_5" "#Action_Group5" "group_6" "#Action_Group6" "group_7" "#Action_Group7" "group_8" "#Action_Group8" "group_9" "#Action_Group9" } } "MenuControls" { "title" "#Set_MenuControls" "Button" { "MenuUp" "#Menu_Up" "MenuDown" "#Menu_Down" "MenuLeft" "#Menu_Left" "MenuRight" "#Menu_Right" "Affirm" "#Menu_Affirm" "Cancel" "#Menu_Cancel" "Other" "#Menu_Other" "ScrollUp" "#Menu_ScrollUp" "ScrollDown" "#Menu_ScrollDown" "DismissMenu" "#Menu_DismissMenu" } } } "action_layers" { "title" "#Layer_UnitMenu" "Button" { "stop" "#Unit_Stop" "hold" "#Unit_Hold" "patrol" "#Unit_Patrol" "follow" "#Unit_Follow" "queue" "#Unit_Queue" "unit_ability_1" "#Unit_Ability1" "unit_ability_2" "#Unit_Ability2" } "title" "#Layer_BuildMenu" "Button" { "build_0" "#Build_0" "build_1" "#Build_1" "build_2" "#Build_2" "build_3" "#Build_3" "build_4" "#Build_4" "build_5" "#Build_5" "build_6" "#Build_6" "build_7" "#Build_7" "build_8" "#Build_8" "build_9" "#Build_9" } } "localization" { "english" { "Set_GameControls" "Game Controls" "Set_MenuControls" "Menu Controls" "Layer_UnitMenu" "Unit Menu" "Layer_BuildMenu" "Build Menu" "Action_MoveCursor" "Move Cursor" "Action_CameraPan" "Pan camera" "Action_CameraZoom" "Zoom camera" "Action_Click" "Click mouse" "Action_Cancel" "Cancel" "Action_Select" "Select" "Action_AddRemove" "Add/remove from selection" "Action_SelectType" "Select all units of type" "Action_SelectIdle" "Select idle worker" "Action_MoveAttack" "Attack-Move" "Action_Move" "Move (no attack)" "Action_Attack" "Attack target" "Action_AssignGroup" "Assign group" "Action_AddRemoveGroup" "Add/remove from group" "Action_SelectGroup" "Select group" "Action_Group0" "Group 0" "Action_Group1" "Group 1" "Action_Group2" "Group 2" "Action_Group3" "Group 3" "Action_Group4" "Group 4" "Action_Group5" "Group 5" "Action_Group6" "Group 6" "Action_Group7" "Group 7" "Action_Group8" "Group 8" "Action_Group9" "Group 9" "Menu_Up" "Up" "Menu_Down" "Down" "Menu_Left" "Left" "Menu_Right" "Right" "Menu_Affirm" "Affirm" "Menu_Cancel" "Cancel" "Menu_Other" "Other" "Menu_ScrollUp" "Scroll Up" "Menu_ScrollDown" "Scroll Down" "Menu_DismissMenu" "Dismiss Menu" "Unit_Stop" "Stop" "Unit_Hold" "Hold ground" "Unit_Patrol" "Patrol" "Unit_Follow" "Follow" "Unit_Queue" "Queue action/waypoint" "Unit_Ability1" "Ability 1" "Unit_Ability2" "Ability 2" "Build_0" "Build option 0" "Build_1" "Build option 1" "Build_2" "Build option 2" "Build_3" "Build option 3" "Build_4" "Build option 4" "Build_5" "Build option 5" "Build_6" "Build option 6" "Build_7" "Build option 7" "Build_8" "Build option 8" "Build_9" "Build option 9" } } } [/code] [section=4x] Strategi 4X[/section] Ini digunakan untuk game strategi 4X sederhana, di mana kamu dapat menggerakkan unit di map utama, menguasai teritori (baik planet, pulau, ataupun kota), dan bertempur dengan kerajaan lain. …

Misalnya, di map utama kamu memiliki tindakan tambahan seperti selesaikan putaran, atau jalan-jalan di sekitar kolonimu. Dalam pertempuran, kamu bisa mengganti unit, dan memerintahkan untuk bergerak, menyerang, atau mundur. …

ISteamNetworkingMessages Interface

Konfirmasi koneksi (handshaking) mungkin diperlukan sebelum kami dapat mengirim data pesan. Jika proses konfirmasi gagal dan kami tidak dapat mengirim data, pesan eror akan dikirim melalui callback [apitype]ISteamNetworkingMessages::SteamNetworkingMessagesSessionFailed_t[/apitype]. …

. (0 jika tidak ada pesan yang tersedia pada saluran tersebut.) Setelah selesai dengan objek pesan, pastikan dan panggil SteamNetworkingMessage_t::Release! …

Jaringan Steam

[list] [*] [api]ISteamNetworkingMessages[/api] adalah antarmuka tingkat tinggi untuk mengirim pesan ke sesama peer. Sama seperti UDP, pengendali koneksi tidak digunakan di sini. Kamu yang menentukan penerima pesannya setiap kali kamu akan mengirim pesan, seperti halnya fungsi sendto(). Kamu tidak perlu memilih peer untuk menjadi "client" dan memulai koneksi, dan server tidak perlu "mendengarkan" atau "menerima" koneksi client. Salah satu peer bisa langsung mengirim pesan. Karena ini sangat mirip dengan UDP, kemungkinan ini adalah API yang termudah untuk mem-porting kode UDP yang ada. Namun, tidak seperti UDP mentah, API ini mendukung pesan yang lebih besar dari satu paket dan pengiriman pesan yang andal. …

Steam Cloud

API Steam Cloud diekspos via API [api]ISteamRemoteStorage[/api]. Contoh dapat ditemukan di [doclink=sdk/api/example][/doclink] proyek. Yang kedua adalah [doclink=#steam_auto-cloud]Steam Auto-Cloud[/doclink]. Steam Auto-Cloud didesain untuk game di mana kamu memilih untuk tidak mengintegrasikan API Steam Cloud. …

Versi Windows dikonfigurasikan sebagai Jalur Root dengan didampingi set Unity ke DefaultCompany dan Proyek yang disebut AutocloudSample. Pada macOS dan Linux/SteamOS, jalur alternatif dari [code-inline]Application.persistentDataPath[/code-inline] diatur di kolom "Tambahkan/Ubah Jalur" dan "Ubah Jalur" diaktifkan. …

Hasil 1 hingga 20 dari 71