Pilih bahasa Anda
Kursus Pemrograman Server-Side via Pengembangan Game
Lebih dari 2 juta pelajar di seluruh dunia

Kursus Pemrograman Server-Side via Pengembangan Game

Kuasai pemrograman sisi server dengan membangun backend game multipemain yang berfungsi penuh dari awal. Kursus ini mencakup jaringan real-time, status game otoritatif, autentikasi pemain, sistem anti-cheat, dan penerapan cloud. Setiap konsep didasarkan pada skenario pengembangan game praktis yang langsung dapat diterjemahkan menjadi keterampilan teknik backend profesional.

Dedika untuk bisnis

Apa yang akan Anda pelajari:

  • Konfigurasikan server WebSocket Node.js untuk menangani ribuan koneksi multipemain secara bersamaan.

  • Bangun mesin status game otoritatif yang memvalidasi input pemain dan mencegah manipulasi klien.

  • Integrasikan basis data relasional dan dokumen untuk menyimpan profil pemain, skor, dan riwayat pertandingan.

  • Implementasikan autentikasi berbasis token dan kontrol akses berbasis peran untuk sesi game yang aman.

  • Terapkan sistem deteksi anti-cheat, pemantauan anomali statistik, dan penegakan hukuman otomatis.

  • Deploy server game dalam kontainer dengan penyeimbangan beban, dasbor observabilitas, dan strategi pembaruan tanpa waktu henti.

Bagaimana Anda belajar secara praktis Kursus Pemrograman Server-Side via Pengembangan Game

Bagaimana Anda berlatih Kursus Pemrograman Server-Side via Pengembangan Game

Untuk Anda yang memiliki perusahaan dan ingin melatih tim

Di Dedika untuk perusahaan, kursus dilengkapi dengan latihan dan contoh yang disesuaikan dengan bisnis Anda dan kebutuhan perusahaan Anda.

Klik di sini

Konten kursus

8 Bab • 40 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)

Bab 1Lihat detail

Dasar-Dasar Sisi Server dan Arsitektur Game

  • Pelajaran 1 • Konsep Game Loop di Server

    Menerjemahkan pola game loop klasik menjadi sistem tick di sisi server. Mahasiswa mengimplementasikan loop pembaruan dengan tingkat tetap yang mengelola status game secara otoritatif.

  • Pelajaran 2 • Pengantar HTTP dan WebSocket

    Membandingkan HTTP request-response dengan koneksi WebSocket persisten untuk data waktu nyata. Menjelaskan mengapa game lebih menyukai WebSocket untuk pembaruan status dengan latensi rendah.

  • Pelajaran 3 • Struktur Data Dasar untuk Status Game

    Mencakup peta, antrean, dan grafik objek yang digunakan untuk merepresentasikan pemain, ruangan, dan entitas. Memilih struktur yang tepat berdampak langsung pada throughput server dan kejelasan kode.

  • Pelajaran 4 • Menyiapkan Lingkungan Pengembangan

    Menginstal dan mengonfigurasi runtime, manajer paket, dan alat pembuatan proyek. Memastikan setiap mahasiswa memiliki basis yang berfungsi sebelum menulis logika game apa pun.

  • Pelajaran 5 • Model Klien-Server dalam Game

    Mendefinisikan arsitektur server otoritatif dan membandingkannya dengan model peer-to-peer. Mendasari semua keputusan jaringan dan logika game selanjutnya dalam bab ini.

Bab 2Lihat detail

Jaringan Waktu Nyata dengan WebSocket

  • Pelajaran 1 • Manajemen Lobi dan Ruangan

    Membuat objek ruangan di sisi server yang mengelompokkan pemain sebelum dan selama pertandingan. Ruangan mengisolasi status game dan memungkinkan sesi independen bersamaan.

  • Pelajaran 2 • Penanganan Kesalahan dan Ketahanan Koneksi

    Mengimplementasikan pola try-catch, peristiwa error, dan prosedur penghentian yang baik. Penanganan kesalahan yang tangguh mencegah satu klien yang buruk merusak seluruh server.

  • Pelajaran 3 • Membangun Server WebSocket

    Mengimplementasikan server WebSocket menggunakan library Node.js yang populer dan menangani peristiwa koneksi. Menyediakan tulang punggung jaringan untuk semua fitur game yang dibangun di bab-bab selanjutnya.

  • Pelajaran 4 • Mengelola Koneksi Pemain

    Melacak pemain yang terhubung dengan ID unik dan menangani skenario koneksi ulang dengan baik. Manajemen koneksi yang andal sangat penting untuk sesi multipemain yang adil.

  • Pelajaran 5 • Desain Protokol Pesan

    Mendefinisikan format pesan terstruktur dengan bidang tipe dan payload untuk peristiwa game. Protokol yang konsisten mencegah kesalahan parsing dan menyederhanakan integrasi klien.

Bab 3Lihat detail

Integrasi Basis Data untuk Data Game

  • Pelajaran 1 • Mengimplementasikan Operasi CRUD

    Menulis fungsi create, read, update, dan delete yang dibungkus dalam pola async/await. Merangkum panggilan basis data dalam modul layanan menjaga kebersihan logika game.

  • Pelajaran 2 • Memilih Basis Data untuk Data Game

    Membandingkan basis data relasional dan dokumen dalam hal latensi, fleksibilitas skema, dan kebutuhan kueri. Pilihan yang tepat tergantung pada hubungan data dan pola baca-tulis.

  • Pelajaran 3 • Menyimpan Data yang Sering Diakses ke Cache

    Memperkenalkan lapisan cache dalam memori untuk mengurangi perjalanan bolak-balik basis data untuk data panas. Menyimpan papan peringkat dan profil ke cache secara dramatis menurunkan waktu respons server.

  • Pelajaran 4 • Memodelkan Data Pemain dan Pertandingan

    Mendesain skema untuk profil pemain, catatan pertandingan, dan entri papan peringkat. Desain skema yang baik mengurangi kompleksitas kueri dan mendukung penambahan fitur di masa depan.

  • Pelajaran 5 • Transaksi dan Integritas Data

    Menggunakan transaksi basis data untuk memastikan pembaruan skor dan catatan pertandingan ditulis secara atomik. Transaksi mencegah penulisan parsial yang merusak peringkat papan peringkat.

Bab 4Lihat detail

Manajemen Status Game Otoritatif

  • Pelajaran 1 • Resolusi Konflik dan Rollback

    Menangani tindakan konflik simultan dari beberapa pemain menggunakan arbitrase sisi server. Mahasiswa mengimplementasikan mekanisme rollback sederhana untuk langkah yang ditolak.

  • Pelajaran 2 • Menerapkan dan Menyiarkan Perubahan Status

    Memperbarui status game kanonis dan mendorong delta ke semua klien yang relevan secara atomik. Pembaruan atomik mencegah klien mengamati status antara yang tidak konsisten.

  • Pelajaran 3 • Menyimpan Snapshot Status Game

    Menyimpan snapshot status berkala ke memori atau disk untuk pemulihan crash dan replay. Snapshot memungkinkan server melanjutkan sesi yang terputus tanpa kehilangan data.

  • Pelajaran 4 • Memvalidasi Input Pemain di Server

    Menerapkan pemeriksaan aturan sebelum mengubah status game untuk menolak langkah curang atau salah bentuk. Validasi sisi server adalah pertahanan utama terhadap manipulasi klien.

  • Pelajaran 5 • Desain Mesin Status untuk Game

    Memodelkan fase game seperti lobi, bermain, dan game-over sebagai status eksplisit dengan transisi. Mesin status mencegah tindakan ilegal dan menyederhanakan debugging.

Bab 5Lihat detail

Autentikasi dan Otorisasi Pemain

  • Pelajaran 1 • Registrasi Pengguna dan Keamanan Kata Sandi

    Mengimplementasikan endpoint registrasi dengan penyimpanan kata sandi yang di-hash menggunakan algoritma yang kuat. Penyimpanan kredensial yang aman adalah fondasi dari semua fitur autentikasi selanjutnya.

  • Pelajaran 2 • Kontrol Akses Berbasis Peran

    Menetapkan peran pemain, moderator, dan admin serta menerapkannya pada tindakan server yang sensitif. RBAC mencegah pemain biasa mengakses perintah game administratif.

  • Pelajaran 3 • Mengamankan dari Serangan Autentikasi Umum

    Memitigasi serangan brute-force, pencurian token, dan replay dengan tindakan pencegahan di sisi server. Penguatan proaktif mengurangi permukaan serangan sebelum game live.

  • Pelajaran 4 • Autentikasi Berbasis Token

    Menerbitkan JSON Web Token yang ditandatangani saat login dan memverifikasinya pada setiap permintaan yang dilindungi. Token tanpa status diskalakan di beberapa instance server tanpa penyimpanan sesi bersama.

  • Pelajaran 5 • Melindungi Koneksi WebSocket

    Memvalidasi token selama handshake upgrade WebSocket sebelum menerima lalu lintas game. Soket yang tidak diautentikasi ditolak sebelum dapat berinteraksi dengan status game.

Bab 6Lihat detail

Logika Game, Aturan, dan Sistem Anti-Cheat

  • Pelajaran 1 • Menerapkan Hukuman dan Larangan

    Menerapkan peringatan, penangguhan sementara, dan larangan permanen melalui mesin kebijakan sisi server. Penegakan otomatis yang konsisten mencegah kecurangan dan menjaga kepercayaan komunitas.

  • Pelajaran 2 • Manajemen Giliran dan Antrean Tindakan

    Mengimplementasikan urutan giliran yang teratur dan mengantrekan tindakan simultan untuk pemrosesan yang adil. Antrean yang tepat menghilangkan kondisi balapan dalam skenario multipemain yang kompetitif.

  • Pelajaran 3 • Menyandikan Aturan Game sebagai Logika Server

    Menerjemahkan dokumen desain game menjadi fungsi aturan murni sisi server tanpa kepercayaan klien. Memusatkan aturan memastikan semua klien mengalami gameplay yang identik dan adil.

  • Pelajaran 4 • Fisika dan Tabrakan di Server

    Menjalankan pemeriksaan fisika ringan di sisi server untuk memvalidasi klaim pergerakan dan tabrakan. Fisika server mencegah teleportasi dan cheat kecepatan yang dilaporkan oleh klien.

  • Pelajaran 5 • Deteksi Anomali Statistik

    Memantau metrik pemain seperti akurasi dan waktu reaksi untuk menandai outlier statistik. Deteksi otomatis melengkapi moderasi manual untuk cakupan anti-cheat yang skalabel.

Bab 7Lihat detail

Skalabilitas dan Optimasi Kinerja

  • Pelajaran 1 • Membuat Profil Kinerja Server

    Menggunakan alat profiling bawaan dan pihak ketiga untuk mengidentifikasi hambatan CPU dan memori. Membuat profil sebelum mengoptimalkan mencegah upaya yang sia-sia pada jalur kode yang tidak kritis.

  • Pelajaran 2 • Optimasi Kueri Basis Data

    Menulis ulang kueri lambat, menambahkan indeks, dan memperkenalkan connection pooling untuk throughput tinggi. Hambatan basis data sering kali menjadi kendala skalabilitas pertama dalam game live.

  • Pelajaran 3 • Penyeimbangan Beban Lalu Lintas Game

    Mengonfigurasi penyeimbang beban untuk mendistribusikan koneksi WebSocket ke beberapa instance server. Penyeimbangan yang tepat mencegah hot spot dan memastikan pemanfaatan sumber daya yang merata.

  • Pelajaran 4 • Mengoptimalkan Game Loop dan Tick Rate

    Mengurangi biaya komputasi per tick melalui batching, keluar awal, dan partisi spasial. Tick yang efisien memungkinkan jumlah pemain yang lebih tinggi tanpa meningkatkan biaya perangkat keras server.

  • Pelajaran 5 • Penskalaan Horizontal dengan Beberapa Instance

    Mendistribusikan ruangan game ke beberapa proses server menggunakan lapisan koordinasi bersama. Penskalaan horizontal menghilangkan batasan kapasitas instance tunggal untuk basis pemain yang besar.

Bab 8Lihat detail

Deployment, Pemantauan, dan Operasi Live

  • Pelajaran 1 • Metrik, Dasbor, dan Pemberitahuan

    Mengekspos metrik server dan membangun dasbor untuk memvisualisasikan jumlah pemain, latensi, dan error. Pemberitahuan proaktif menangkap regresi sebelum pemain melaporkannya.

  • Pelajaran 2 • Pembaruan Tanpa Waktu Henti dan Hotfix

    Menerapkan deployment blue-green dan pengurasan yang baik untuk memperbarui server tanpa memutuskan koneksi pemain. Operasi game live membutuhkan strategi pembaruan yang menjaga sesi aktif.

  • Pelajaran 3 • Mengontainerisasi Server Game

    Mengemas server dan dependensinya ke dalam image kontainer untuk deployment yang konsisten. Kontainer menghilangkan penyimpangan lingkungan antara pengembangan, staging, dan produksi.

  • Pelajaran 4 • Pipeline CI/CD untuk Server Game

    Mengotomatiskan tahap build, pengujian, dan deploy sehingga setiap penggabungan kode mencapai produksi dengan aman. Pipeline otomatis mengurangi kesalahan manusia dan mempercepat irama rilis.

  • Pelajaran 5 • Pencatatan Terstruktur dan Pelacakan Terdistribusi

    Memancarkan log JSON terstruktur dan span trace untuk menghubungkan peristiwa di seluruh instance server. Pelacakan terdistribusi sangat penting untuk mendiagnosis masalah latensi dalam deployment yang diskalakan.

Sertifikasi

Sertifikat valid Anda setelah menyelesaikan

Kursus ini cocok untuk Anda:

  • Pengembang backend junior: ingin memperdalam keterampilan melalui proyek yang menarik.

  • Pengembang game indie: membutuhkan fondasi server yang kokoh untuk fitur multipemain.

  • Mahasiswa ilmu komputer: siap menerapkan teori kelas ke sistem dunia nyata.

  • Pengembang frontend: ingin berkembang menjadi full-stack dengan menangani kode sisi server.

  • Pengubah karier: membawa pengalaman coding umum dan menargetkan industri game.

Apa kata para siswa kami

Kelasnya sangat sempurna. Saya membeli paket satu tahun dan akhirnya memiliki kesempatan untuk mengikuti berbagai topik yang saya minati tanpa perlu berganti platform... terima kasih atas semua yang kalian lakukan, saya sudah merekomendasikan kalian kepada orang lain...
Giulio Carlo
Giulio CarloSiswa Marketing Digital
Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.
Mariana Ferres
Mariana FerresSiswa Fotografi
Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!
Luciana Alvarenga
Luciana AlvarengaSiswa Desain Kuku
Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.
André Felipe
André FelipeSiswa Prompt Engineering

Pelatihan utama

FAQ

Siapa itu Dedika?

Apakah sertifikat ini berlaku di Indonesia?

Apakah kursusnya gratis?

Berapa beban belajar kursusnya?

Bagaimana bentuk kursusnya?

Bagaimana cara kerja kursusnya?

Berapa lama durasi kursusnya?

Berapa biaya atau harga kursusnya?

Apa itu kursus EAD atau online dan bagaimana cara kerjanya?

Kursus PDF