Sol Reklam

Sunucu API'sini kendimiz yazabilir miyiz?

Durum
Mesaj gönderimine kapalı.

Neon

Birisi mi Spawnlandı?
Katılım
5 Şubat 2016
Mesajlar
2
Elmaslar
0
Puanlar
13.395
Yaş
43
Merhabalar, benim bir sorum olacaktı. Yurt dışında yaptıkları gibi Spigot, CraftBukkit, PaperSpigot, Glowstone, BungeCoord vb. sunucu yazılımlarını kendimiz de yapabilir miyiz? Bunları nasıl kodluyorlar? Bunlar Java'nın birer kütüphaneleri mi? Tamamen kendime özgü bir sunucu projesi yapmak istiyorum. Bunun için Java öğrenmem gerektiğini biliyorum ancak Java öğrendikten sonra nasıl bir yol izlemeliyim? Yazılımdan anlayan birileri bu konuda bilgi verebilir mi? Teşekkürler.
 
S

Silinen üye 123937

Ziyaretçi
Öncelikle java bilmen gerekmiyor, oyunlar internet protokolleri üzerinden (genellikle udp tercih edilir) sunucuyla, sunucu da bu oyunu oynayan oyuncuyla iletişim kurar. Bir network sınıfı destekleyen herhangi bir dille yazılabilir fakat kaynak kullanımı ve hız önemli. İlk soruna gelirsek evet kendimiz de yapabiliriz fakat paper, spigot gibi yazılımlar birer fork yani sıfırdan yapılmış değiller. İnternette aratırsan cpp, java, go gibi dillerde yazılmış sunucu yazılımlarını bulabilirsin. Kendin sıfırdan yazmak istiyorsan önerim seçtiğin dilin yüksek istek sayılarında dahi stabil şekilde kaynak tüketmesi ve response hızını koruyabilmesi olur, normal geliştiriciler genellikle i/o işlemlerini ve network (özellikle tcp ve udp) sınıfını öğrenmeye tenezzül etmez fakat birçok yerde karşımıza çıkıyor burada olduğu gibi. Minecraft protokollerini çok detaylı ve anlaşılabilir yazmış olan bu kaynağı da kullanarak ilerleyebilirsiniz: https://wiki.vg/Protocol Tabii her şey bundan ibaret değil.
 

Neon

Birisi mi Spawnlandı?
Katılım
5 Şubat 2016
Mesajlar
2
Elmaslar
0
Puanlar
13.395
Yaş
43
Öncelikle java bilmen gerekmiyor, oyunlar internet protokolleri üzerinden (genellikle udp tercih edilir) sunucuyla, sunucu da bu oyunu oynayan oyuncuyla iletişim kurar. Bir network sınıfı destekleyen herhangi bir dille yazılabilir fakat kaynak kullanımı ve hız önemli. İlk soruna gelirsek evet kendimiz de yapabiliriz fakat paper, spigot gibi yazılımlar birer fork yani sıfırdan yapılmış değiller. İnternette aratırsan cpp, java, go gibi dillerde yazılmış sunucu yazılımlarını bulabilirsin. Kendin sıfırdan yazmak istiyorsan önerim seçtiğin dilin yüksek istek sayılarında dahi stabil şekilde kaynak tüketmesi ve response hızını koruyabilmesi olur, normal geliştiriciler genellikle i/o işlemlerini ve network (özellikle tcp ve udp) sınıfını öğrenmeye tenezzül etmez fakat birçok yerde karşımıza çıkıyor burada olduğu gibi. Minecraft protokollerini çok detaylı ve anlaşılabilir yazmış olan bu kaynağı da kullanarak ilerleyebilirsiniz: https://wiki.vg/Protocol Tabii her şey bundan ibaret değil.
Dediğiniz Paper, spigot vb. yazılımlar Minecraft'ın hazır kodlarını (protokollerini) kendilerine entegre edilip yazılmıyor mu?
 
Son düzenleme:
S

Silinen üye 123937

Ziyaretçi
Dediğiniz Paper, spigot vb. yazılımlar Minecraft'ın hazır kodlarını (protokollerini) kendilerine entegre edilip yazılmıyor mu?
Paperspigot bir spigot forku*, spigot bir bukkit forku, bukkit bir craftbukkit forku ve evet temelinde oyunun haberleşeceği kurallar belirlidir (protocol) ve bu kullanılır.

*Fork: Git tabanlı depolama sistemlerini kullanıyorsanız biliyor olmalısınız, bir projeyi kendi düzenleyebileceğiniz şekilde kopyalamaktır. Burada yapılan işlem performans iyileştirmeleri ve ek özellikler eklenerek veya varolan hatalar kapatılarak yeni bir yazılım ortaya koymaktır. Bu mesajda yer alan sunucu yazılımlarının kaynak kodlarını incelerseniz asıl kaynak üzerinde yapılan değişiklikleri bulabileceğiniz patch dosyaları var.
 
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı