توجه
تمامی فایل های مورد نیاز در این آموزش به جز پکیج Boost (به علت حجم زیاد) در
این فایل موجود است، در صورتی که
این فایل را دریافت کنید نیازی به گرفتن فایل هایی که در ادامه ی این آموزش آمده نیست!
پکیج بوست را میتوانید از
اینجا بگیرید!
مراحل نصب
برای نصب پکیچ Soccer Simulation شما باید یه کامپیوتر با سیستم عامل لینوکس داشته باشید!
به جای لینوکس میشه از Cygwin توی ویندوز استفاده کرد؟
" خوشبختانه شما می تونید از Cygwin برای نصب و اجرای سرور استفاده کنید! راه دیگه برای نصبش تو ویندوز هم اینه که برنامه ی VMWare Workstation رو نصب کنید و روی اون لینوکس نصب کنید! اینطوری به محیط گرافیکی لینوکس هم توی ویندوز دسترسی خواهید داشت! "
من روی کامپیوتر خودم از Linux Suse 10.1 استفاده کردم، اما شما می تونید از هر کدوم از ورژن های لینوکس چه تو محیط KDE چه محیط Gnome استقاده کنید!
از اینجا به بعد رو باید با یوزر root تولی لینوکس لاگین کنید!
قبل از شروع نصب باید مطمئن شید که gcc روی لینوکستون نصب هست! اگر نیست می تونید از توی سی دی لینوکستون و با استقاده از Software Management توی YaST اونو نصبش کنید یا توی Terminal بزنید:
ببخشید، gcc دقیقا چیکار می کنه؟
" gcc یکی از کمپایلر های C هستش که توی لینوکس خیلی استفاده میشه. "
بعد از اینکه مطمئن شدید gcc نصب هست باید یه پکیج دیگه بنام boost رو نصب کنید!
توی
این صفحه آموزش نصب این پکیج هست! نصب این پکیج زمان خیلی زیادی می گیره و حدود 1 گیگ هم هارد نیاز داره! البته سرور شبیه ساز فوتبال فقط نیاز به دو تا از Library های اون داره، شما می تونید فقط همون دو تا رو make و make install کنید:
كد:
libboost_filesystem-gcc.so
libboost_program_options-gcc.so
بصورت پیش فرض این Library ها توی /usr/local/lib ذخیره میشن! اما یه مشکلی که وجود داره اینه که اسم این Library ها توی پکیج جدید Boost نسبت به زمانی که Soccer Simulation Server ساخته شده فرق کرده پس باید اسم اونا رو عوض کنیم!
برای این کار به /usr/local/lib برین و اسم دو تا فایل رو با این دوخط دستور عوض کنید:
كد:
mv libboost_filesystem-gcc41-1_34_1.so libboost_filesystem-gcc.so
mv libboost_program_options-gcc41-1_34_1.so libboost_program_options-gcc.so
اگه ورژن Boostای که گرفتین فرق داشته باشه ممکنه اون عدد های آخر فرق کنن!خوب حالا رسیدیم به مرحله ی اصلی یعنی نصب rcssbase و rcssserver که سرور رو تشکیل میدن!
برای این کار باید دو تا پکیج RoboCup Soccer Simulator Base Code و Robocp Soccer Simulator Server رو از
اینجا بگیرید!
بعد از گرفتن این دو تا فایل اونا رو توی یه فولدر که دوست دارین قرار بدین و اونا رو Untar کنید! برای Untar کردن کافیه توی Terminal بنویسید:
كد:
Tar --bzip2 -xf FileName
هر دو تا فایل رو با استفاده از این دستور Untar کنید، یادتون نره بجای FileName اسم فایلی که میخواین Untar شه رو بزنید!
بعد از اینکه Untar کردید اول توی فولدر rcssbase-... برید و دستورای زیر رو بزنید:
كد:
./configure
make
make install
اکثر برنامه ها که با سورس ارائه میشن نصبشون به این شکل هست. ./configure با توجه به مشخصات رایانه و سیستم عاملتون یه MakeFile میسازه و اون MakeFile هم طریقه ی کمپایل شدن فایل ها رو تو خودش داره! وقتی دستور make رو می زنید اون فایل ها کمپایل میشن و make install هم اون فایل ها رو نصب می کنه! ممکنه هر کدوم از این مرحله ها یه مقدار وقت بگیره البته از دفعه قبلی که این کار رو برای boost انجام دادین کمتر وقت می گیره.
حالا برید توی فولدر rcssserver-... و همین دستور هارو برای اون بزنید.
به این ترتیب شما سرور رو نصب کردید! اما سرور چیزی رو به شما نمایش نمیده برای اینکه بتونید فعالیت سرور رو ببینید نیاز به Robocup Soccer Simulator Monitor دارین! و برای اینکه بتونید عملیات سرور و کلاینت رو بعدا دوباره بررسی کنید باید Robocup Soccer Simulator Log Player رو نصب کنید که مثل این میمونه که یه مسابقه ی فوتبال رو رکورد کنید و بعد اونو تماشا کنید!
نصب این دو تا برنامه دقیقا مثل rcssbase و rcssserver هست! یعنی Untar می کنید و توی فولدرشون میرید و اون دستور هارو می زنید!
الآن باید دیگه بتونید پکیج Robocup Soccer Simulator رو بطور کامل اجرا کنید!
برای اینکار اول برید توی فولدر /rcssserver-.../src و بعد توی ترمینال بزنید:
اگه ارور گرفتین که گفته دایرکتوری یا فایل مورد نظر موجود نیست و اسم یه .so فایل رو به شما داده وحشت نکنید!
تو بعضی از ورژن های لینوکس این مشکل با یه Restart حل میشه! اما اگر نشد کافیه این کار هارو بکنید!
اگر فرض کنیم پکیچ rcssserver و rcssbase رو توی /home/siavash/rcssserver-11.1.1 و /home/siavash/rcssbase-11.1.0 ریختید این دستور ها رو توی Terminal اجرا کنید:
كد:
cp /home/siavash/rcssbase-11.1.0/rcssbase/conf/.libs/* /home/siavash/rcssserver-11.1.1/src/
cp /home/siavash/rcssbase-11.1.0/rcssbase/net/.libs/* /home/siavash/rcssserver-11.1.1/src/
cp /home/siavash/rcssbase-11.1.0/rcssbase/lib/.libs/* /home/siavash/rcssserver-11.1.1/src/
cp /home/siavash/rcssbase-11.1.0/rcssbase/gzip/.libs/* /home/siavash/rcssserver-11.1.1/src/
یادتون نره /home/siavash/ رو با جایی که سرور و بیس رو نصب کردین عوض کنید! این دستورا در اصل Library هارو در دسترس rcssserver قرار میده! البته راه بهتر این بود که path این فایل هارو به rcssserver بدیم اما این راه برای افرادی که برای اولین بار این کار رو انجام میدن راحت تره!
اگر باز هم با مشکل روبرو شدید لطفا تو همین صفحه گزارش بدین! حالا دوباره میریم سر اجرای سرور!
برای این کار اول برید توی /rcssserver-.../src/ و دستور زیر رو توی Terminal وارد کنید:
قاعدتا نباید با پیغام خطا روبرو بشید. حالا باید مونیتور رو اجرا کنید!
برای این کار کافیه به فولدر rcssmonitor-.../src/ برید و توی Terminal بزنید:
حالا دیگه تنها قسمتی که مونده وصل کردن کلاینت یا کد خودتون هست! می تونید برای شروع
این کد رو بگیرید!. که یک نمونه برای شروع هست با نام Trilearn base sources.این برنامه نصبش مثل پکیج های قبلی هست! برای اجراشم کافیه به فولدر trilearn_base_sources-3.3 برید و توی Terminal دستور زیر رو بزنید:
كد:
./start.sh localhost TeamName
واضح هست که باید دو بار این دستور رو تو دو تا صفحه ی Terminal مجزا با دو TeamName مختلف بزنید چون وگرنه یه تیم بدون رقیب توی زمین خواهد بود. برای شروع بازی هم کافیه kick-off رو توی rcssmonitor بزنید! می تونید برای شرکت توی مسابقات همین سورس کد کلاینت رو توسعه بدید یا اینکه از base client های دیگه استفاده کنید! با کمی Search کلاینت هایی به زبون های دیگه مثل Java هم پیدا میشه!
انشاالله در جلسات بعدی درباره ی Objectها و Classهای شبیه سازی فوتبال و طریقه ی کد نویسی برای اون صحبت می کنیم. و البته کمی هم در رابطه با شبیه سازی زلزله که به نظر من خیلی جالب تر هست!
منبع: سیاوش محمودیان - بلاگ - مقدمه ای بر شبیه سازی فوتبال