PlanetServer digunakan untuk mengembangkan lingkungan virtual multi-pengguna dengan menyediakan lapisan tengah antara klien dan server. Ini menggunakan soket sehingga setiap pesan yang dikirim dari satu klien dapat disampaikan ke semua klien lainnya. PlanetServer mendukung platform Android/iOS/Windows/Max/Linux saat ini. Ini menggunakan protokol khusus pada TCP dan kami akan segera mendukung UDP juga. Direktori ##
Planetserver memiliki beberapa direktori utama yang harus Anda ketahui
Lib - berisi semua dependensi yang dibutuhkan oleh server '
Ekstensi - Berisi Game Ekstensi Game Anda, dan dependensi khusus lainnya yang diperlukan oleh ekstensi Anda
Conf - berisi file konfigurasi untuk server, dan juga file konfigurasi untuk log4j (logging)
##Konfigurasi
PlanetServer berisi file config.properties di folder conf. File ini dapat diedit untuk mengatur pengaturan tertentu untuk server Anda.
Pengaturan server.tcp.port digunakan untuk mengonfigurasi port yang didengarkan server Anda
Pengaturan server.threads.executor digunakan untuk mengonfigurasi jumlah utas di threadpool. Anda akan ingin meningkatkan jumlah ini berdasarkan jumlah aktivitas untuk alasan kinerja.
Ada juga file log4j.properties di mana Anda dapat mengonfigurasi logging untuk server Anda. Lihat dokumentasi Log4J untuk detail lebih lanjut tentang ini.
Di dalam folder ekstensi ada file World.Properties . File ini berisi properti khusus untuk game Anda dan dapat diakses melalui kode game Anda. Satu -satunya properti yang diperlukan di sini adalah ekstensi.class.name yang menunjuk ke titik masuk utama aplikasi Anda. Contoh yang disediakan telah dikonfigurasi ini sehingga untuk ekstensi Anda sendiri, ubah nama kelas.
## ekstensi saat membuat aplikasi Anda, Anda membuat ekstensi ke PlanetServer. Ekstensi hanyalah file jar yang ditempatkan di dalam folder ekstensi dengan semua file jar yang diperlukan untuk aplikasi Anda. Anda harus membuat kelas utama untuk ekstensi untuk titik masuk. Kelas utama harus diperpanjang dari psextension dan mengesampingkan metode init dan menghancurkan. Misalnya
public class WorldExtension extends PSExtension {
@Override
public void init()
{
}
@Override
public void destroy()
{
super.destroy();
}
}
Tempatkan fungsionalitas khusus ke dalam metode init dan hancurkan. Ini dapat berisi kode khusus yang Anda butuhkan untuk aplikasi Anda.
## Permintaan ekstensi untuk mengirim perintah khusus ke server, Anda harus mendaftarkan kelas khusus untuk penangan permintaan. Misalnya, katakanlah Anda memiliki pemain dan ingin mengirim permintaan untuk melakukan sesuatu untuk pemain. Pertama tambahkan permintaan penangan addRequestHandler ("player", playerRequest.class); Kemudian buat file Java PlayerRequest yang meluas dari BasicClientRequestHandler. Anda mengesampingkan metode HandLeClientRequest dan kemudian Anda dapat menguraikan permintaan yang dikirim.
Semua perintah dikirim menggunakan notasi titik. Misalnya apa pun yang dimulai dengan pemain. akan ditangani oleh pawang permintaan yang terdaftar untuk string "player" beberapa perintah contoh mungkin player.save, player.load, player.move dll ... cara yang baik adalah memiliki enum perintah dan kemudian Anda dapat menulis pernyataan sakelar untuk menangani perintah secara terpisah per file java. Anda dapat melihat contoh dalam file sampel java.
## Paket masa depan untuk versi utama berikutnya 1.1 akan mendukung pesan UDP. Kami percaya ini diperlukan untuk beberapa game tingkat pesan yang lebih tinggi.