-
CobolCraft
- COBOL में लिखा गया Minecraft सर्वर, जो Minecraft 1.21.4 वर्ज़न को सपोर्ट करता है
-
फीचर्स
- निम्न फीचर्स पहले से इम्प्लीमेंट किए जा चुके हैं
- अनंत terrain generation और dynamic chunk loading
- world और player data का डिस्क पर स्टोरेज
- Minecraft file format सपोर्ट (मौजूदा world import करना)
- अधिकतम 10 concurrent players को सपोर्ट करने वाला multiplayer
- ping/server status (server list में online के रूप में दिखता है)
- block तोड़ना और रखना
- block interaction (right-click, जैसे: door खोलना)
- player inventory (creative mode तक सीमित)
- chat
- commands (in-game और interactive console के ज़रिए)
server.properties के माध्यम से configuration
- whitelist (persistent;
whitelist.json में स्टोर)
- multi-state, directional, interactive blocks के लिए बहुत अधिक specialized code चाहिए, और यह इस project के scope से बाहर है
- कुछ supported blocks: torch, slab, stairs, rotated pillars, buttons, doors, trapdoors, beds
-
उपयोग कैसे करें
- यह GnuCOBOL का उपयोग करके विकसित किया गया है और Linux पर चलने के लिए डिज़ाइन किया गया है
- Windows जैसे अन्य operating systems का सपोर्ट टेस्ट नहीं किया गया है, लेकिन Docker का उपयोग करके platform-independent deployment संभव है
- Linux पर deploy करने के लिए निम्न prerequisites इंस्टॉल होने चाहिए
cobc, make, g++, zlib, curl, latest Java version
- build के लिए
make चलाएँ, और port 25565 पर server शुरू करने के लिए make run चलाएँ
- Docker का उपयोग करने पर:
- Docker Hub से image pull की जा सकती है या सीधे build किया जा सकता है
- Docker container चलाते समय इसे बाहर से accessible बनाने के लिए configure किया जा सकता है
-
क्यों?
- COBOL को लेकर कई अफवाहें और गलत धारणाएँ हैं, इसलिए इस project के ज़रिए इस language के बारे में और जानना चाहा गया
- COBOL business applications के लिए उपयुक्त है, लेकिन Minecraft protocol द्वारा आवश्यक low-level data manipulation के लिए उपयुक्त नहीं है
- फिर भी, काम करने वाला prototype बनाने से पहले हार नहीं मानी गई
- data encoding और decoding के माध्यम से performance हासिल की गई
-
प्रोग्राम ओवरव्यू
-
source components
- program entry point
main.cob है, और बाकी COBOL source src/ directory में स्थित है
- TCP sockets को
CBL_GC_SOCKET socket library से manage किया जाता है
-
packet blobs
- Wireshark के माध्यम से capture किया गया network data इस्तेमाल होता है, और यह
blobs/ directory में स्थित है
-
data extraction
- official Minecraft server और client applications से बहुत सा data extract किया जा सकता है
- CobolCraft
Makefile में .jar files download करने और JSON data extract करने के targets शामिल हैं
-
कानूनी सूचना
- यह project MIT license के तहत है, और third-party library CBL_GC_SOCKET, LGPL v3 license के तहत है
- "Minecraft" Mojang Synergies AB का trademark है, और CobolCraft का Mojang से कोई संबंध नहीं है तथा इसे Mojang की स्वीकृति प्राप्त नहीं है
1 टिप्पणियां
Hacker News टिप्पणियाँ
COBOL के बारे में बहुत सी अफवाहें और बदनामी हैं। इसे समझने के लिए मैं किसी प्रोजेक्ट के ज़रिए COBOL का अनुभव करना चाहता हूँ। यह जानना दिलचस्प है कि किसी नए व्यक्ति ने COBOL इस्तेमाल करके क्या समझ हासिल की
किसी सरल भाषा में लिखा गया छोटा प्रोजेक्ट प्रभावशाली है। दूसरी तरफ, Rust जैसी आधुनिक भाषाओं में लिखे प्रोजेक्ट गैर-कार्यक्षम लगते हैं
मैंने 1978 के बाद COBOL का इस्तेमाल बंद कर दिया था। मैं यह कोड फिर कभी नहीं देखना चाहता
COBOL कोड procedural language पृष्ठभूमि वाले लोगों के लिए समझना आसान है। यह मुझे 20 साल पहले VB में लिखे गए एक game server की याद दिलाता है
COBOL कोड बहुत पढ़ने योग्य है। आधुनिक भाषाओं की तुलना में इसे समझना आसान है
पाकिस्तान के एक छोटे शहर में मैंने हाई स्कूल के दौरान COBOL सीखी थी। मैंने financial reports को simulate करने वाला एक प्रोजेक्ट किया था। मुझे COBOL की बदनामी समझ में नहीं आती
COBOL एक शानदार भाषा लगती है। कोड अच्छी तरह व्यवस्थित है
40 साल बाद, दुनिया भर के executives कहेंगे, "COBOL Minecraft server गायब हो गया"
यह पता नहीं चल रहा कि COBOL Minecraft server Redstone को support करता है या नहीं। README में इसका ज़िक्र नहीं है, और code में सिर्फ Redstone torch का उल्लेख है