টার্ন ভিত্তিক বোর্ড গেম সার্ভার রেফারেন্স? [বন্ধ]


12

টার্ন-বেস গেম সার্ভারটি কীভাবে তৈরি করবেন সে সম্পর্কে সুপারিশ করার জন্য কোনও ভাল রেফারেন্স / বই রয়েছে? দাবা খেলোয়াড়দের জুটি বাঁধার জন্য এবং গেমের স্থিতি ধরে রাখতে এটি দাবা সার্ভারের মতো কিছু। অতীতে, উদাহরণস্বরূপ আইজিএস (যাওয়ার জন্য, ওয়েইকি) হ'ল সকেট ভিত্তিক বাস্তবায়ন। সমসাময়িক প্রযুক্তিগুলি কী থেকে শিখতে হবে? ধন্যবাদ!


জিডিএফ ফোরাম গেমদেব.ট.
টপিক

আপনি নিম্নলিখিত গেম সার্ভার ডিজাইনটি থেকে শিখতে পারেন: developers.google.com/games/services/android/…
টমাশ

উত্তর:


5

আমি বিষয়টিকে বিশেষ ক্ষুদ্রতর বলে এ সম্পর্কে কোনও বিশেষ বই আছে বলে আমি মনে করি না।

কেবল এমন কোনও মেল-সার্ভারের কল্পনা করুন যেখানে প্লেয়াররা তাদের ক্রিয়াকলাপ মেল মাধ্যমে প্রেরণ করতে পারে। সার্ভারটিতে এখন পর্যন্ত সমস্ত কর্ম সম্পাদিত হয়েছে (মেল হিসাবে), যার অর্থ আপনার গেমের অবস্থা রয়েছে। আপনি যদি গেমস্টেটটি পুনরায় লোড করতে চান তবে মেলগুলির ভিতরে সমস্ত ক্রিয়া কালানুক্রমিকভাবে সম্পাদন করুন। আপনার কেবলমাত্র যা করতে হবে তা হ'ল কার কার ঘুরিয়েছে তা নিশ্চিত করা ... তবে এটি খুব সহজ (উদাহরণস্বরূপ সংখ্যাগুলি)। সমসাময়িক প্রযুক্তির প্রয়োজন নেই ... একটি পরিবর্তিত মেল সার্ভার / ক্লায়েন্ট সমাধান করবে।

জোড়ার পিপিএল এলো দিয়ে করা যায় ... তবে আমার ধারণা আপনি এটি জানেন knew


সম্ভবত আপনি আরও কিছুটা ব্যাখ্যা করতে পারেন, ডিম। আমি 'Elo' জানি না
zinking

আমি ইলো সিস্টেমের সাথে একটি লিঙ্ক অন্তর্ভুক্ত করার জন্য পোস্টটি সম্পাদনা করেছি।
কাইলোটন

2

এটি যদি আমি থাকতাম তবে আমি এটি সকেট দিয়ে জমি থেকে তৈরি করতাম। প্রেরণের জন্য ডেটার পরিমাণ খুব কম, এবং টার্ন-ভিত্তিক প্রকৃতি কিছুটা বিলম্বিতাকে অলক্ষিত করে তোলে।

আমার মতে আসল প্রশ্নটি হল এতে আপনার অতিরিক্ত বৈশিষ্ট্যগুলি কী দরকার। গেম সেশনগুলি কি অবিচল রয়েছে (কেউ কি বাদ পড়তে এবং পুনরায় যোগদান করতে পারে, গেমটি সংরক্ষণ করা যায় ইত্যাদি)? আপনি যদি কোনও সভ্যতার স্টাইল সংরক্ষণ করে থাকেন তবে আপনি সম্ভবত সমস্ত ক্লায়েন্টের কাছে সংরক্ষণের ডেটাটি সরিয়ে রাখতে চান, বা যাচাইয়ের জন্য এম্বেড করা সার্ভার-সরবরাহিত কী সহ সেভ ক্লায়েন্টের পাশে থাকতে পারেন।

আপনার কি কোনও ধরণের টার্ন-টার্নের রিপোর্টিং দরকার, যেমন "প্লেয়ার 2 একটি ইউনিট নিয়ে চলেছে" বা "আপনার প্রতিপক্ষ এএফকে হতে পারে"? যদি তাই হয় তবে আপনি সকেট সংযোগগুলি উন্মুক্ত রাখতে চান।

সাধারণভাবে বলতে গেলে, যদি বিচ্যুত হওয়ার কোনও জোরালো কারণ না থাকে তবে আমি সার্ভারটিকে যতটা সম্ভব বোবা এবং সহজ করে দেব। ডিবাগ করতে কম যায়। আমি সাধারণ ধরণের টেক্সট প্রোটোকল ব্যবহার করার মতোই, কারণ আমি আমার সার্ভারগুলিকে প্রকৃত গেম ক্লায়েন্ট ছাড়াই টেলনেট ব্যবহার করে পরীক্ষা করতে পারি (যা কোনও প্রদত্ত সমস্যায় সন্দেহ হতে পারে), তবে এটি ডেটার ওয়্যারশার্ক হেরফেরকে উত্সাহিত করে (যা সম্ভবত আপনি করবেন) যাইহোক পরীক্ষা করুন)।

সম্পাদনা: গেমটি যদি কেবল 1-অন -1 গেমগুলিকে সমর্থন করে তবে পিয়ার-টু-পিয়ার সংযোগগুলি দেখার মতো হতে পারে।


1

সার্ভার কী এবং এর দায়বদ্ধতা কী তা ওভারথাইক না করা গুরুত্বপূর্ণ। এই ক্ষেত্রে, আপনার তুলনামূলকভাবে ধীর গতির অভিনয় রয়েছে, সুতরাং সার্ভার আর্কিটেকচারটি অবিশ্বাস্যরূপে জটিল হবে না (দ্রুত গতির খেলায় যেখানে আপনার মৃত গণনা রয়েছে ইত্যাদি বনাম)। সংযুক্ত ক্লায়েন্টদের তথ্যের প্যাকেট প্রেরণের জন্য আপনার সার্ভারটি কোনও টিসিপি পোর্টে শুনতে হবে (পাশাপাশি ইউডিপিও এড়িয়ে যেতে পারে) connected এটি প্যাকেটগুলি গ্রহণ করে, গেমের বিধিগুলির উপর ভিত্তি করে এগুলিকে বৈধতা দেয় এবং একটি প্রতিক্রিয়া ফিরিয়ে দেয়। আপনার সুনির্দিষ্ট ক্ষেত্রে আপনার সার্ভারটি জানতে হবে যে এটি বর্তমানে কারটি পরিবর্তনশীল এবং অন্য খেলোয়াড়দের পালা না হওয়া পর্যন্ত ক্রিয়া সম্পাদনের যে কোনও প্রচেষ্টা প্রত্যাখ্যান করে।

আপনি কী প্রযুক্তির মনে রেখেছিলেন তা আমি জানি না তবে কিউরনেট লাইব্রেরির সাথে জাভাতে এটি করা খুব সহজ। কেবলমাত্র আপনার গেম ক্রিয়াকলাপগুলি কেন্দ্রীয় সার্ভারে প্রেরণ করুন (দুটি প্লেয়ারের মধ্যে একটিও হতে পারে), এটি প্রক্রিয়া করুন এবং উভয় খেলোয়াড়কে গেম আপডেট ফিরিয়ে দিন। আমি নিশ্চিত যে নেট থেকেও অনুরূপ কিছু বিদ্যমান exists

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.