इस प्रोजेक्ट के बारे में
Python Game Server टर्न-आधारित मल्टीप्लेयर गेम्स के लिए एक हल्का सर्वर और फ्रेमवर्क है। यह बोर्ड और कार्ड गेम्स के साथ-साथ प्रोग्रामिंग कोर्स के लिए लक्षित है जहाँ छात्र क्लाइंट या नए गेम लागू करते हैं।
README में वर्णित मुख्य विशेषताएँ:
- स्वचालित मैचमेकिंग या स्पष्ट सत्र जॉइनिंग
- एक लचीला, गेम-अज्ञेय API
- एक फ्रेमवर्क जो प्रोग्रामर से मल्टीप्लेयर जटिलता छिपाता है
- बेस क्लास से व्युत्पन्न करके और कुछ विधियों को ओवरराइड करके नए गेम जोड़ना
- पोलिंग से बचने के लिए बुद्धिमान स्टेट अपडेट
- वैकल्पिक TLS समर्थन
- केवल बुनियादी Python कौशल आवश्यक
त्वरित शुरुआत: सर्वर शुरू करें (server/game_server.py), फिर दो क्लाइंट चलाएँ (client/tictactoe_client.py)। एकमात्र आवश्यकता एक नियमित Python इंस्टॉलेशन है।
क्लाइंट API: client/game_server_api.py मॉड्यूल क्लाइंट को गेम सत्र शुरू करने और जॉइन करने, मूव सबमिट करने, गेम स्टेट प्राप्त करने और वर्तमान सत्र के भीतर गेम को पुनः आरंभ करने देता है। README में server, port, game, session और players पैरामीटर के साथ GameServerAPI का उपयोग करते हुए एक TicTacToe गेम लूप दिखाया गया है, साथ ही join(), state() और move(**kwargs) कॉल और एक IllegalMove अपवाद शामिल है।
गेम जोड़ना: server/games/ में एक मॉड्यूल बनाएँ, AbstractGame से व्युत्पन्न एक क्लास लागू करें, आवश्यक विधियों को ओवरराइड करें, और इसे server/games_list.py में पंजीकृत करें। server/games/template.py पर एक टेम्पलेट प्रदान किया गया है। नए गेम के लिए API में कोई बदलाव आवश्यक नहीं है; मूव मनमाने कीवर्ड तर्क स्वीकार करते हैं और गेम स्टेट एक डिक्शनरी के रूप में लौटाया जाता है।
सर्वर संचालन: server/config.py में IP और पोर्ट संपादित करें, जहाँ TLS सहित अन्य सेटिंग्स समायोजित की जा सकती हैं। सेवा के रूप में चलाने के लिए एक systemd यूनिट फ़ाइल प्रदान की गई है। प्रोजेक्ट विकी में API संदर्भ, क्लाइंट कार्यान्वयन मार्गदर्शन और सर्वर संचालन नोट्स शामिल हैं।
प्रोजेक्ट पृष्ठभूमि: एक प्रोग्रामिंग कोर्स के लिए विकसित किया गया जहाँ छात्र पहली भाषा के रूप में Python सीखते हैं और छोटे समूहों में काम करते हैं। फ्रेमवर्क और API इस तरह डिज़ाइन किए गए हैं कि बुनियादी प्रोग्रामिंग कौशल पर्याप्त हों, हालाँकि उपयोग शिक्षा तक सीमित नहीं है। पुल रिक्वेस्ट, इश्यू या चर्चा के माध्यम से योगदान का स्वागत है। GPLv3 के तहत लाइसेंस प्राप्त, कॉपीराइट 2025, 2026 Fabian Eberts।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.