আপনি যদি মাইনক্রাফ্টের জগৎ ভালোবাসেন এবং ব্যয়বহুল মাইনক্রাফ্ট সার্ভার হোস্টিংয়ের উপর নির্ভর না করে বন্ধুদের সাথে খেলার জন্য নিজের একটি জায়গা তৈরি করতে চান , তাহলে Pterodactyl ব্যবহার করা সম্ভবত আপনার জন্য সেরা সিদ্ধান্ত হবে। এটি শুধু আরেকটি কন্ট্রোল প্যানেল নয়, বরং একটি পেশাদার টুল যা আপনাকে ডকার কন্টেইনার পরিচালনা করতে দেয়। এর ফলে আপনার সার্ভারগুলো বিচ্ছিন্ন ও অপ্টিমাইজ করা থাকবে , যা একটি ওয়ার্ল্ডে ক্র্যাশ হওয়ার কারণে পুরো সিস্টেমকে অচল হয়ে পড়া থেকে রক্ষা করবে।
সত্যিটা হলো, যদিও অনেক প্রযুক্তিগত ধারণার কারণে প্রথমে এটি কিছুটা ভীতিপ্রদ মনে হতে পারে, একবার সিস্টেমটি চালু করে ফেললে আপনি সম্পূর্ণ নিয়ন্ত্রণে আছেন বলে অনুভব করবেন। জটিল CurseForge মডপ্যাক স্থাপন করা থেকে শুরু করে আন্তঃসংযুক্ত সার্ভার নেটওয়ার্ক তৈরি করা পর্যন্ত, Pterodactyl আপনাকে রাজ্যের চাবি তুলে দেয়, যাতে আপনি গুরুত্বপূর্ণ বিষয়টিতে মনোযোগ দিতে পারেন: আপনার নিজের মহাবিশ্বে নির্মাণ এবং টিকে থাকা ।
মূল বিষয়: টেরোড্যাকটিল বাস্তুতন্ত্র
এটি কাজ করার জন্য, আপনাকে প্রথমে বুঝতে হবে যে সিস্টেমটি দুটি মৌলিক অংশে বিভক্ত। একদিকে রয়েছে প্যানেল , যা হলো ভিজ্যুয়াল ইন্টারফেস বা PHP এবং Laravel- এ লেখা ওয়েব ইন্টারফেস, যেখানে আপনি বাটন ক্লিক করে গ্রাফগুলো দেখতে পারেন। অন্যদিকে রয়েছে উইংস , যা হলো "ডেমন" বা ইঞ্জিন, যা ফিজিক্যাল সার্ভারে মূল কাজগুলো সামলায় এবং ডকার কন্টেইনারগুলো পরিচালনা করে, যেখানে আপনার মাইনক্রাফট সার্ভারটি থাকে।
একেবারে গোড়া থেকে শুরু করতে, আপনার উবুন্টু ২২.০৪ চালিত একটি সার্ভার প্রয়োজন , যা সবচেয়ে স্থিতিশীল বিকল্প। এই প্রক্রিয়ার মধ্যে রয়েছে একটি এনজিনক্স (Nginx) ওয়েব সার্ভার, একটি মারিয়াডিবি (MariaDB) ডেটাবেস স্থাপন করা এবং পিএইচপি (PHP) কনফিগার করা। কন্ট্রোল প্যানেলটি চালু হয়ে গেলে, আপনি একই বা অন্য কোনো মেশিনে উইংস (Wings) ইনস্টল করবেন এবং সেগুলোকে একটি সিকিউরিটি টোকেন দিয়ে সংযুক্ত করবেন , যাতে কন্ট্রোল প্যানেলটি এক্সিকিউশন ইঞ্জিনে কমান্ড পাঠাতে পারে।
নোড চালুকরণ এবং বরাদ্দ
গেমটি চালু করার আগে, প্রসেসিং ক্ষমতা কোথায় থাকবে তা আপনাকে সিস্টেমকে জানাতে হবে। এটি করার জন্য প্রথমে একটি লোকেশন এবং তারপর একটি নোড তৈরি করতে হয়। এই নোডেই আপনি নির্ধারণ করেন যে আপনার গেমগুলোর জন্য কী পরিমাণ র্যাম এবং ডিস্ক স্পেস বরাদ্দ করতে চান। অপ্রত্যাশিত পরিস্থিতি এড়ানোর একটি কৌশল হলো মোট উপলব্ধ জায়গায় কিছু অতিরিক্ত মেমরি রেখে দেওয়া, যাতে অপারেটিং সিস্টেম ক্র্যাশ না করে।
একটি গুরুত্বপূর্ণ ধাপ হলো পোর্ট বরাদ্দ সেট আপ করা । এগুলি মূলত আইপি অ্যাড্রেস এবং পোর্টের জোড়া, যা সার্ভার ব্যবহারকারীদের সংযোগ করার জন্য ব্যবহার করবে। উদাহরণস্বরূপ, স্ট্যান্ডার্ড পোর্ট হলো 25565 , যদিও বটদের আপনার আইপি অ্যাড্রেস স্ক্যান করা এবং আপনার সার্ভারকে জঞ্জালপূর্ণ করা থেকে বিরত রাখতে অন্যান্য পোর্ট ব্যবহার করার পরামর্শ দেওয়া হয়। আপনি যদি উবুন্টুতে UFW-এর মতো কোনো ফায়ারওয়াল ব্যবহার করেন, তাহলে আপনার রাউটারে প্রয়োজনীয় পোর্টগুলো, যার মধ্যে পোর্ট 8080-ও রয়েছে, খুলতে ভুলবেন না, যাতে Wings এবং কন্ট্রোল প্যানেল কার্যকরভাবে যোগাযোগ করতে পারে।
আপনার সার্ভার তৈরি করা: ভ্যানিলা থেকে ফোর্জ পর্যন্ত
আপনার নোডটি অনলাইন (সবুজ) হয়ে গেলেই আসল মজা শুরু হয়। অ্যাডমিনিস্ট্রেশন সেকশনে, আপনি একটি নতুন সার্ভার তৈরি করেন এবং এর জন্য একজন মালিক ও প্রয়োজনীয় রিসোর্স নির্ধারণ করে দেন। এখানেই নেস্ট এবং এগ-এর ভূমিকা শুরু হয় । নেস্ট হলো সাধারণ ক্যাটাগরি (যেমন, মাইনক্রাফট), এবং এগ হলো সফটওয়্যার-নির্দিষ্ট কনফিগারেশন।
- ভ্যানিলা ইনস্টলেশন: এটাই সবচেয়ে সহজ। আপনি ভ্যানিলা এগ বেছে নিন এবং ভ্যারিয়েবল অংশে ভার্সনটি উল্লেখ করুন, সেটি কী। সর্বশেষ উপলব্ধ অথবা একটি নির্দিষ্ট সংস্করণ।
- ফোর্জ সার্ভার: মোডের জন্য আদর্শ। এখানে আপনাকে সঠিক ফোর্জ সংস্করণটি প্রবেশ করাতে হবে (যেমন 1.20.1-47.3.10যাতে ইনস্টলেশন স্ক্রিপ্টটি সঠিক ফাইলগুলো ডাউনলোড করে।
আপনি যদি আরও উন্নত কিছু খোঁজেন, তাহলে এমন ইউনিভার্সাল এগ (universal eggs) রয়েছে যা স্বয়ংক্রিয়ভাবে শনাক্ত করতে পারে যে কোনো কার্সফোর্জ (CurseForge) মডপ্যাক ফ্যাব্রিক (Fabric), ফোর্জ (Forge), বা নিওফোর্জ (NeoForge) ব্যবহার করছে কিনা। এটি আপনার ম্যানুয়ালি এক লাইন কোডও না ছুঁয়েই উপযুক্ত লোডার ইনস্টল করে এবং স্টার্টআপ স্ক্রিপ্টগুলো চালিয়ে দেয় ।
সার্ভার নেটওয়ার্ক এবং প্রক্সি (বাঞ্জিকর্ড এবং ওয়াটারফল)
আপনার প্রজেক্ট বড় হলে এবং আপনি একাধিক সার্ভার (একটি লবি, একটি সারভাইভাল মোড এবং একটি ক্রিয়েটিভ মোড) রাখতে চাইলে, আপনার BungeeCord বা Velocity-এর মতো একটি প্রক্সি লাগবে । এখানে মূল বিষয় হলো নিরাপত্তা: ব্যবহারকারীদের অ্যাক্সেস করার জন্য প্রক্সিটির একটি পাবলিক আইপি অ্যাড্রেস থাকতে হবে, অন্যদিকে অভ্যন্তরীণ সার্ভারগুলোতে 127.0.0.1 অ্যাড্রেসটি ব্যবহার করা উচিত ।
Pterodactyl-এ এটি কাজ করার জন্য, spigot.yml ফাইলে অভ্যন্তরীণ সার্ভারগুলির অনলাইন-মোড অবশ্যই false এবং বাঞ্জিকর্ড মোড সক্রিয় থাকতে হবে। যেহেতু কন্টেইনারগুলি বিচ্ছিন্ন, তাই প্রক্সিকে অভ্যন্তরীণ সার্ভারগুলিতে পৌঁছানোর জন্য, অভ্যন্তরীণ ট্র্যাফিকের অনুমতি দিতে ফায়ারওয়াল নিয়মগুলি সামঞ্জস্য করে কখনও কখনও ডকার নেটওয়ার্ক আইপি ঠিকানা (সাধারণত 172.18.0.1 ) নির্দেশ করা প্রয়োজন হয় ।
স্বয়ংক্রিয়করণ এবং উন্নত ব্যবস্থাপনা
যারা এটিকে পরবর্তী স্তরে নিয়ে যেতে চান, তাদের জন্য প্যানেলটিকে এর সাথে একীভূত করা সম্ভব। ডিসকর্ড বট Pterodactyl API ব্যবহার করে। এটি আপনাকে নিম্নলিখিত কমান্ডগুলি তৈরি করার সুযোগ দেয়, যেমন /deploy যা দিয়ে, এক ক্লিকেই সার্ভার তৈরি করা যায়, মডপ্যাক ইনস্টল করা যায় এবং তারা রাজ্য পর্যবেক্ষণ করে সার্ভার থেকে চ্যাটের মাধ্যমে রিয়েল টাইমে।
এছাড়াও, এই প্যানেলটিতে রয়েছে কিছু শক্তিশালী টুল, যেমন— নির্ধারিত সময়ে ব্যাকআপ নেওয়ার সুবিধা যা আপনি ক্লাউডে (S3 বা গুগল ড্রাইভ) পাঠাতে পারেন; SSH-এর মাধ্যমে লগ ইন না করেই কমান্ড চালানোর জন্য একটি ইন্টারেক্টিভ কনসোল; এবং রোল ও পারমিশনের একটি সিস্টেম , যার ফলে আপনার অ্যাডমিনিস্ট্রেটররা নোডের কনফিগারেশনে সম্পূর্ণ অ্যাক্সেস না পেয়েও সার্ভারটি রিস্টার্ট করতে পারেন।
কন্টেইনার-ভিত্তিক পরিকাঠামো থাকার ফলে সুনির্দিষ্ট রিসোর্স ম্যানেজমেন্ট সম্ভব হয় এবং কঠোর কোটা ও কনফিগারযোগ্য সোয়াপ স্পেসের কারণে অপর্যাপ্ত র্যাম থেকে সার্ভার ক্র্যাশ হওয়া প্রতিরোধ করা যায় । উবুন্টু ইনস্টল করা ও উইংস ডেপ্লয় করা থেকে শুরু করে প্রক্সির মাধ্যমে জটিল নেটওয়ার্ক কনফিগার করা পর্যন্ত এই সম্পূর্ণ ওয়ার্কফ্লোটি, স্থিতিশীলতা ও স্কেলেবিলিটি প্রত্যাশী যেকোনো মাইনক্রাফট অ্যাডমিনিস্ট্রেটরের জন্য টেরোড্যাকটিলকে একটি সেরা টুলে পরিণত করে ।






