আপনি যদি ইতিমধ্যে না থাকেন তবে আমি আপনাকে এই দুটি গভীর তবে বোধগম্য নিবন্ধগুলি পড়ার পরামর্শ দিচ্ছি: https://developer.valvesoftware.com/wiki/Source_M মাল্টিপ্লেয়ার_ নেটওয়ার্কিং এবং http://fabiensanglard.net/quake3/network.php ।
এটি ব্যাখ্যা করে কেন এটি 'স্থির বিরতি' প্যাকেট প্রেরণে ব্যবহার করার পরামর্শ দেওয়া হয়েছে। সংক্ষেপে, এটি সার্ভারের পাঠানো প্যাকেটের জন্য মূলত গুরুত্বপূর্ণ।
প্যাকেট প্রেরণে একটি নির্দিষ্ট খরচ হয় এবং একটি নেটওয়ার্ক প্যাকেট সর্বাধিক আকার প্রায় 1.5 কেবি হয়। সুতরাং আপনার যদি আপনার সার্ভারে উদাহরণস্বরূপ 16 জন খেলোয়াড় থাকে, প্রতিটি ফ্রেম যখন আপনি কোনও খেলোয়াড়ের জন্য চলাফেরার গণনা করেন, নিষ্পাপ কোড প্রতিটি আন্দোলনের রেজোলিউশনের পরে প্রতিটি খেলোয়াড়কে একটি আপডেট প্যাকেট প্রেরণ করতে পারে, তাই 16 * 16 = 256 প্যাকেট। আপনার যদি 30 এর ফ্রেমরেট থাকে তবে তা 7680 প্যাকেট।
আরও ভাল পন্থা হ'ল ফ্রেমের প্রতিটি শুরুতে একটি বাফার তৈরি করা, এতে আপনার 16 গণনা করা অবস্থানের আপডেট আপডেট করা এবং তারপরে আপনার 16 খেলোয়াড়কে প্রেরণ করা।
আপনি এখন একই ফলাফলের জন্য সেকেন্ডে কেবল 480 প্যাকেট প্রেরণ করেন।
প্লেয়ার-টু-সার্ভারের ক্ষেত্রে, এর অর্থ কেবল একই প্যাকেটে সর্বাধিক ডেটা যেমন পাঠানো উচিত; অবস্থান দেখেছি, ক্রিয়াকলাপগুলি এই ফ্রেমটিকে ডেকে আনে এবং ততক্ষণ।
আপনার প্রশ্নের দ্বিতীয় অংশ সম্পর্কে - আমি ল্যাগ সংবেদনটি হ্রাস করতে যেভাবে বেছে নিয়েছি তা হ'ল প্রতিটি ফ্রেমের সার্ভারে এই তথ্যটি প্রেরণ করা:
প্লেয়ারের আসল বর্তমান অবস্থান (সার্ভারের পাশ এবং প্লেয়ারের দিকের অবস্থানগুলি খুব বেশি সংখ্যায় বিভক্ত নয় কিনা তা পরীক্ষা করার জন্য সার্ভার দ্বারা ব্যবহৃত হয়)।
1 সেকেন্ডে আনুমানিক প্লেয়ারের অবস্থান: ক্লায়েন্ট দ্বারা গণনা করা হয়: প্লেয়ার যদি মাউসের দিক পরিবর্তন না করে এবং 1 সেকেন্ডের জন্য কীবোর্ডটিকে বর্তমান অবস্থায় রেখে দেয় তবে প্লেয়ারটি কোথায় থাকবে? (আমরা সংঘর্ষের বিষয়ে চিন্তা করি না) যদি প্লেয়ারটি চলমান না থাকে তবে 1 সেকেন্ডে তার আনুমানিক অবস্থানটি তার বর্তমান অবস্থান।
তিনি যে অবস্থানটি দেখছেন।
প্রতিবার সার্ভার এই তথ্যটি গ্রহণ করলে এটি ভবিষ্যতের অবস্থান এবং অবস্থানের অবস্থানটি আপডেট করে এবং প্লেয়ার সত্তা শেষ পর্যন্ত তার ভবিষ্যতের অবস্থানের দিকে চলে যায়।
খেলোয়াড়েরা কখনই হুবহু সিঙ্ক্রোনাইজ হয় না, তবে ইনপুট প্রতিক্রিয়া তাত্ক্ষণিকভাবে হয় (আমার জন্য সবচেয়ে গুরুত্বপূর্ণ) এবং আমি পূর্বাভাসিত অবস্থানগুলি আমার পক্ষে যথেষ্ট সঠিক বলে খুঁজে পেয়েছি।