প্রকল্প সম্পর্কে

Auto Tournament হলো Counter-Strike 2 টুর্নামেন্ট চালানোর জন্য একটি সেলফ-হোস্টেড ওয়েব অ্যাপ্লিকেশন। একজন অ্যাডমিন ব্র্যাকেট তৈরি করেন, এবং প্ল্যাটফর্মটি প্রতিটি ম্যাচ কনফিগার করা CS2 সার্ভারে লোড করে, ব্রাউজারে ম্যাপ ভেটো চালায় এবং ম্যাচ শেষ হলে ফলাফল রেকর্ড করে। এটি সংগঠিত টুর্নামেন্টের পাশাপাশি সাধারণ ৫v৫ বা ২v২ গেমের জন্য উপযোগী, এবং আগে এটি MatchZy Auto Tournament নামে পরিচিত ছিল। টুর্নামেন্ট ফরম্যাটের মধ্যে রয়েছে সিঙ্গেল ও ডাবল এলিমিনেশন, সুইস, রাউন্ড রবিন এবং শাফল। Bo1, Bo3 এবং Bo5-এর জন্য ম্যাপ ভেটো সমর্থিত এবং তা ব্রাউজারে সম্পন্ন হয়। সিস্টেমটি একটি ফ্রি সার্ভার নির্বাচন করে, ম্যাচ কনফিগারেশন লোড করে এবং ম্যাচ শেষ হলে ব্র্যাকেট এগিয়ে নেয়। লাইভ স্কোর এবং সার্ভার স্ট্যাটাস WebSockets-এর মাধ্যমে সরবরাহ করা হয়। অতিরিক্ত বৈশিষ্ট্যের মধ্যে রয়েছে OpenSkill-এর মাধ্যমে প্লেয়ার রেটিং, লিডারবোর্ড, ডাউনলোডের জন্য আপলোড করা ডেমো রেকর্ডিং, কানেক্ট তথ্যসহ পাবলিক টিম পেজ যাতে লগইনের প্রয়োজন হয় না, এবং আসল প্লেয়ার ছাড়া টুর্নামেন্ট পরীক্ষার জন্য সিমুলেশন মোড। ডিপ্লয়মেন্টে Docker ও Docker Compose ব্যবহৃত হয়। রিপোজিটরি ক্লোন করে example.env-কে .env-এ কপি করার পর অ্যাডমিন SESSION_SECRET, SERVER_TOKEN এবং FRONTEND_BASE_URL সেট করেন, তারপর স্ট্যাক চালু করেন। লগে একটি এককালীন সেটআপ কোড প্রিন্ট হয় যা /setup-এ অ্যাডমিন অ্যাকাউন্ট তৈরি করতে ব্যবহৃত হয়, ঐচ্ছিকভাবে টু-স্টেপ ভেরিফিকেশনসহ। Steam, Discord, Google, GitHub এবং Twitch-এর মতো সাইন-ইন প্রোভাইডার .env-এর পরিবর্তে সেটিংস UI-তে কনফিগার করা হয়। একটি reset-admin কমান্ড লক-আউট হওয়া লোকাল অ্যাডমিনকে পুনরুদ্ধার করতে পারে। প্রথম অ্যাডমিন সাইন-ইনে নন-কমার্শিয়াল বা কমার্শিয়াল ব্যবহার বেছে নিয়ে একবার লাইসেন্স শর্তাবলি গ্রহণ করা হয়; আনঅ্যাটেন্ডেড ইনস্টলের ক্ষেত্রে এর পরিবর্তে AT_ACCEPT_LICENSE সেট করা যায়। CS2 সার্ভারে Auto Tournament CS2 প্লাগইন (v2.0.0+) এবং RCON অ্যাক্সেস প্রয়োজন। সার্ভারগুলো সহযোগী CS2 Server Manager দিয়ে প্রভিশন করা যায়, অথবা CounterStrikeSharp এবং প্লাগইন ম্যানুয়ালি ইনস্টল করে Settings → Servers-এর অধীনে সার্ভার যোগ করা যায়। প্লাগইনটি MatchZy থেকে ফর্ক করা। ডেভেলপারদের জন্য রয়েছে API টোকেন ও OpenAPI স্পেকসহ একটি HTTP API, ওয়েবহুক, একটি টিমস API এবং একটি উদাহরণ Discord বট। ডকুমেন্টেশনে অ্যাডমিন ড্যাশবোর্ড ব্যবহার, সার্ভার সেটআপ, টুর্নামেন্ট তৈরি, আর্কিটেকচার এবং টেস্টিং কভার করা হয়েছে। প্রকল্পটি বাগ রিপোর্ট, ফিক্স, অনুবাদ এবং ডকুমেন্টেশন পরিবর্তন স্বাগত জানায়। লাইসেন্স হলো PolyForm Noncommercial 1.0.0: নন-কমার্শিয়াল ব্যবহারের জন্য বিনামূল্যে, যেখানে পেইড হোস্টিং, রিসেল, পেইড-এন্ট্রি ইভেন্ট বা ব্যবসায়িক ব্যবহারের মতো কমার্শিয়াল ব্যবহারের জন্য আলাদা লাইসেন্স প্রয়োজন। প্রকল্পটি brackets-manager.js এবং brackets-viewer.js-এর উপর নির্মিত।