ከአገልጋዩ መጥፋት ጋር ያለን የሌዘር ፍለጋ እንዴት እንደተቀናበረ ልንነግራችሁ እንቀጥላለን። በቀደመው ጀምር
በጠቅላላው የጨዋታው ጀርባ 6 የስነ-ህንፃ ክፍሎች ነበሩት ፣ በዚህ ጽሑፍ ውስጥ የምንመረምረው-
- ለጨዋታ ስልቶች ተጠያቂ የሆኑ የጨዋታ አካላት ጀርባ
- የኋላ እና የጣቢያ ውሂብ ልውውጥ አውቶቡስ በ VPS ላይ
- ከጀርባ ጥያቄዎች (የጨዋታ አካላት) ወደ አርዱዪኖ እና ሃርድዌር በጣቢያው ላይ ተርጓሚ
- ሪሌሎችን የመቆጣጠር ሃላፊነት የነበረው አርዱዪኖ ከተርጓሚው ትዕዛዝ ተቀብሎ ትክክለኛውን ስራ ሰርቷል።
- ትክክለኛ መሣሪያዎች: ማራገቢያ, የአበባ ጉንጉኖች, የወለል ንጣፎች, ወዘተ.
- Frontend - ተጫዋቾች መሳሪያዎችን የሚቆጣጠሩበት የ Falcon ድህረ ገጽ ራሱ
የጨዋታ አካላት ጀርባ
የኋለኛው ክፍል እንደ የፀደይ ቡት መተግበሪያ ተተግብሯል፡ በርካታ የእረፍት መቆጣጠሪያዎች፣ የዌብሶኬት የመጨረሻ ነጥብ እና ከጨዋታ አመክንዮ ጋር አገልግሎቶች ነበሩት።
ሶስት ተቆጣጣሪዎች ብቻ ነበሩ፡-
- ሜጋትሮን የአሁኑ የሜጋትሮን ገጽ በGET ጥያቄዎች ተልኳል፡ ኃይልን ከማብራት በፊት እና በኋላ። ሌዘር በPOST ጥያቄ በኩል ተኮሰ።
- የታጠፈ ገፆችን በገጽ ስም እንዲያገለግሉ ማድረግ። Tilde ወደ ውጭ የሚላኩ ገጾችን ከመጀመሪያ ስሞች ጋር ሳይሆን ከውስጥ መታወቂያ እና ተገዢነት መረጃ ጋር ያወጣል።
- የውሸት-ከፍተኛ ጭነት አገልጋይ ካፕቻን ለማገልገል Captcha መቆጣጠሪያ።
የዌብሶኬት መጨረሻ ነጥብ መግብሮችን ለመቆጣጠር ጥቅም ላይ ውሏል፡ አምፖሎች፣ ጋራላንድ እና ፊደሎች። ለሁሉም ተጫዋቾች በተመሳሰለ መልኩ የመሳሪያውን ወቅታዊ ሁኔታ ለማሳየት ተመርጧል፡ ማብራትም ሆነ ጠፍቶ፣ ገባሪም ሆነ አልነቃም፣ የፊደሉ ቀለም በአሁኑ ጊዜ በግድግዳው ላይ የበራ ነው። ሌዘርን የማብራት ስራን ትንሽ የበለጠ ከባድ ለማድረግ ለጋርላንድ እና ለሌዘር በተመሳሳይ መግቢያ እና የይለፍ ቃል አስተዳዳሪ/አስተዳዳሪ ፍቃድ ጨምረናል።
ተጫዋቾቹ የአበባ ጉንጉን በማብራት ሊፈትኑት እና በሌዘር ተመሳሳይ ነገር መድገም ይችላሉ።
ተጫዋቾችን አላስፈላጊ በሆነ ምርጫ ላለማሰቃየት እንደዚህ አይነት ተራ መግቢያ-የይለፍ ቃል ጥንድ መረጥን።
ተግባሩን ትንሽ የበለጠ ሳቢ ለማድረግ ከmongodb የመጡ የነገር መታወቂያዎች በክፍሉ ውስጥ እንደ መሳሪያ መለያዎች ጥቅም ላይ ውለው ነበር።
ObjectId የጊዜ ማህተም ይዟል፡ ሁለት የዘፈቀደ እሴቶች አንዱ በመሳሪያ መለያው ላይ ተመስርቶ የሚወሰድ ሲሆን ሁለተኛው ደግሞ በሚፈጥረው የሂደቱ ፒዲ እና በቆጣሪው እሴት ላይ የተመሰረተ ነው። በመደበኛ ክፍተቶች እና በተለያዩ የፒዲ ሂደቶች የሚመነጩትን መለያዎች ማድረግ ፈልጌ ነበር ፣ ግን በጋራ ቆጣሪ ፣ የሌዘር መሣሪያ መለያ ምርጫ የበለጠ አስደሳች እንዲሆን። ነገር ግን፣ በመጨረሻ፣ ሁሉም በቆጣሪው እሴት ብቻ በሚለያዩ መለያዎች ጀመሩ። ይህ እርምጃውን በጣም ቀላል አድርጎት ሊሆን ይችላል እና የ objectId መዋቅር ትንተና አያስፈልገውም።
ከጀርባ ጥያቄዎች ተርጓሚ
ስክሪፕቱ ከ RabbitMQ ወረፋ ጋር የተገናኘ እና ጥያቄዎችን ከወረፋው ወደ አርዱዪኖ አስተላልፏል። እንዲሁም የትይዩ ብርሃን መቀያየርን አመክንዮ ተግባራዊ አድርጓል፡ ከአንዳንድ መሳሪያዎች ጋር አብሮ መብራቱ በርቶ ነበር ለምሳሌ ሃይል መጀመሪያ ለሜጋትሮን ሲቀርብ በመድረክ መብራት በራ። ለጠቅላላው ትዕይንት ሲኒማቶግራፊ የመብራት ንድፍ ስለ ፕሮጄክታችን ተባባሪ ፕሮዲዩሰር እና ፕሮዲዩሰር ዲዛይነር ኢሊያ ሴሮቭ ታላቅ ሥራ የተለየ ታሪክ ነው ፣ እና ስለ እሱ በተለየ ጽሑፍ ውስጥ እንነጋገራለን ።
ተርጓሚው ሰዓት ቆጣሪን በመጠቀም እና ምስሉን ወደ ቴሌቪዥኑ ለማስተላለፍ አመክንዮአዊ ሃላፊነት ነበረው-የማስነሻውን ማስጀመሪያ ጊዜ ቆጣሪ ፣ ጩኸት ካፒባራ ፣ በጨዋታው መጨረሻ ላይ ማስታወቂያ።
የሜጋትሮን ቶከን የማመንጨት አመክንዮ እንዴት እንደተዋቀረ
የሙከራ ምት
በየ 25 ሰከንድ አዲስ ቶከን ይፈጠራል እና ሌዘርን በ10/10 ሃይል ለ255 ሰከንድ ለማብራት ይጠቅማል። አገናኝ ወደ
ሌዘር ከዚያም ለ 1 ደቂቃ ቀዘቀዘ - በዚህ ጊዜ ውስጥ አይገኝም እና አዲስ የተኩስ ጥያቄዎችን አልተቀበለም.
ይህ ኃይል በገመድ ውስጥ ለማቃጠል በቂ አልነበረም, ነገር ግን ማንኛውም ተጫዋች Megatron ን በማቃጠል የሌዘር ጨረሩን በተግባር ማየት ይችላል.
ማስመሰያውን ለመፍጠር የMD5 hashing አልጎሪዝም ጥቅም ላይ ውሏል። እና እቅዱ ተሳክቷል MD5 ከ MD5 + ቆጣሪ + ምስጢር ለትግል ማስመሰያ እና ለሙከራ ምልክት ያለ ምስጢር።
MD5 የኛ ደጋፊ የሆነው ፓቬል ያደረገው የንግድ ፕሮጀክት ዋቢ ነው። ከጥቂት አመታት በፊት ይህ ፕሮጀክት MD5ን ተጠቅሟል፣ እና ለፕሮጄክቱ አርክቴክት ጊዜው ያለፈበት የኢንክሪፕሽን ስልተ-ቀመር እንደሆነ ሲነግሩት MD5ን ከMD5 መጠቀም ጀመሩ። በጣም የኖብ ፕሮጀክት ለማድረግ ስለወሰንን, ሁሉንም ነገር አስታወሰ እና ትንሽ ማጣቀሻ ለማድረግ ወሰነ.
የትግል ጥይት
የሜጋትሮን የውጊያ ሁነታ 100% ሌዘር ሃይል በ 3 ዋት ነው። ይህ ክብደት በተያዘው ገመድ ውስጥ ለማቃጠል ፣ የውሃ ገንዳውን ለመስበር እና አገልጋዩን በውሃ ለማጥለቅ ለ 2 ደቂቃዎች ያህል በቂ ነው።
በፕሮጀክቱ Github ላይ ጥቂት ፍንጮችን እንተወዋለን-ማለትም የማስመሰያ ማመንጨት ኮድ, አንድ ሰው የሙከራ እና የውጊያ ቶከኖች በተመሳሳይ የቆጣሪ አመልካች ላይ ተመስርተው እንደሚፈጠሩ ሊረዳ ይችላል. የውጊያ ማስመሰያ ሁኔታን በተመለከተ፣ ከቆጣሪው እሴት በተጨማሪ፣ ጨውም ጥቅም ላይ ይውላል፣ ይህም ከመጨረሻዎቹ ሁለት ገጸ-ባህሪያት በስተቀር ይህንን ጭብጥ በመቀየር ታሪክ ውስጥ ሙሉ በሙሉ የቀረው ነው።
ይህንን መረጃ በማወቅ በመጨረሻዎቹ 2 የጨው ምልክቶች መደርደር እና ከጠፋው ወደ ሄክሳዴሲማል ስርዓት የተቀየሩት ቁጥሮች ለእሱ ጥቅም ላይ እንደዋሉ ለማወቅ ተችሏል ።
በመቀጠልም ተጫዋቾቹ የቆጣሪውን ዋጋ (የሙከራ ቶከንን በመተንተን) እና በመጨረሻው ደረጃ የተመረጠውን የቆጣሪው እሴት እና ጨው በመጠቀም የውጊያ ምልክት ማመንጨት አለባቸው.
ቆጣሪው በቀላሉ በእያንዳንዱ የሙከራ ምት እና በየ25 ሰከንድ ይጨምራል። ስለዚህ ጉዳይ በየትኛውም ቦታ አልጻፍንም, ትንሽ የጨዋታ አስገራሚ መሆን ነበረበት.
Captcha መስተጋብር አገልግሎት
በጨዋታው አለም፣ ደጋፊውን ለማብራት እና ፍንጭ በፍንጭ ለመክፈት ይህ ተመሳሳይ ካፕቻ ነበር። ከካሜራው ቀጥሎ የጭነት መቆጣጠሪያ ያለው ላፕቶፕ ነበር።
በመጨረሻዎቹ 5 ሰከንዶች ውስጥ ካፕቻውን ለማሳየት ከ 50 በላይ ጥያቄዎች ካሉ ፣ ከዚያ ጭነቱ በተወሰነ + የዘፈቀደ የእርምጃዎች ብዛት ጨምሯል። ስሌቱ 100% ጭነት በሁለት ደቂቃዎች ውስጥ ሊገኝ ይችላል.
በእርግጥ በአገልግሎቱ ውስጥ በመጨረሻው ጨዋታ ላይ ከሚታየው የበለጠ አመክንዮ ነበር፡ መቆጣጠሪያውን የ CPU Fan መሽከርከር ብቻ በሚታይበት መንገድ አስቀምጠን ነበር።
በፍለጋው መጀመሪያ ላይ ግራፋንን ከ Falcon ድህረ ገጽ ተደራሽ ለማድረግ ፈልገዋል። ነገር ግን ከጀርባ አፕሊኬሽን ሪፖርቱ የስፕሪንግ ቡት መለኪያዎችንም ይዟል፣ ይህም ለማጽዳት ጊዜ አልነበረንም፣ ስለዚህ የእሱን መዳረሻ ለማገድ ወስነናል። እና ልክ እንደዚያው - በፍለጋው መጀመሪያ ላይ እንኳን ፣ አንዳንድ ተጫዋቾች መተግበሪያው በፀደይ ቡት ማዕቀፍ ውስጥ እንደተፃፈ እና የአንዳንድ አገልግሎቶችን ስም እንኳን እንደቆፈረ ገምተዋል።
ማስተናገጃ እና የውሂብ አውቶቡስ
መረጃን ከጀርባ ወደ ጣቢያው ለማስተላለፍ የሚረዳ መሳሪያ፣ RabbitMQ እያሄደበት ያለው የVPS አገልጋይ።
የኋላ እና የመረጃ አውቶቡሱ እንዲቆዩ ተደረገ
አገልጋዩን ከDDoSa ለመጠበቅ፣ Cloudflareን ተጠቀምን።
VPS ሁሉንም ነገር በክብር ተቋቁሟል ማለት ተገቢ ነው።
ሪሌሎችን የመቆጣጠር ሃላፊነት የነበረው አርዱዪኖ ከተርጓሚው ትዕዛዝ ተቀብሎ ትክክለኛውን ስራ ሰርቷል።
ይህ ስለ ፕሮጀክቱ ሃርድዌር ክፍል የሚቀጥለው ርዕስ የበለጠ ነው፡ ደጋፊው በቀላሉ የተወሰነ ቅብብል ለማብራት ጥያቄዎችን ልኳል። እንዲህ ሆነ፣ ደጋፊው ሁሉንም አካላት ከሞላ ጎደል የሚያውቅ ሲሆን ከሱ የሚቀርቡ ጥያቄዎች “ይህን አካል አብራ” የሚመስሉ ይመስላል። ይህንን ያደረግነው ለጣቢያው ቀደምት ሙከራ ነው (ሁሉንም አርዱዪኖ እና ሪሌይሎችን ገና አልሰበሰብንም) በመጨረሻ ሁሉንም ነገር እንደዛው እንተወዋለን።
የፊት ለፊት
ቦታውን በፍጥነት በጠፍጣፋ ላይ ፈጠርን, አንድ የስራ ቀን ወስዶ 30 ሺህ በጀታችን አስቀምጠናል.
መጀመሪያ ላይ ጣቢያውን በቀላሉ ወደ ውጭ ለመላክ እና የጎደሉን አመክንዮዎች ለመጨመር አስበን ነበር, ነገር ግን ይህንን እንዳናደርግ የሚከለክለን አጠቃቀም ጋር ተገናኘን.
ፈቃዱን ለመጣስ ዝግጁ አልነበርንም, ስለዚህ ሁለት አማራጮች ነበሩ-ሁሉንም ነገር እራሳችንን ለመተግበር ወይም Tilda በቀጥታ ለማነጋገር, ስለ ፕሮጀክቱ ይናገሩ እና ኮዱን ለመቀየር ፍቃድ ይጠይቁ.
ሁለተኛውን አማራጭ መርጠናል እና እኛን በግማሽ መንገድ ብቻ ሳይሆን አንድ አመት ነፃ የንግድ መለያ ሰጡን, ለዚህም ለእነሱ በጣም እናመሰግናለን. የሶኮልን ድረ-ገጽ ዲዛይን ማሳየታቸው በጣም አሳፋሪ ነበር።
በውጤቱም፣ ወደ ኤለመንታሪ መሳሪያዎች የሚላኩ ጥያቄዎችን js ሎጂክን ከፊት ለፊት ጋር አያይዘን፣ እና የጨዋታ ክፍሎችን ለማብራት እና ለማጥፋት የአዝራሮችን ዘይቤ በትንሹ ቀይረናል።
የጣቢያ ዲዛይን
የተለየ ምዕራፍ ዋጋ ያለው የፍለጋ ታሪክ።
እኛ የድሮው ፋሽን ጣቢያን ብቻ ሳይሆን ሁሉንም መሰረታዊ የንድፍ ህጎችን የሚጥስ በጣም አስጸያፊ መፍጠር እንፈልጋለን። በተመሳሳይ ጊዜ, ታማኝነትን ማቆየት አስፈላጊ ነበር-የ ENT ታሪክን ላለማቋረጥ, የጸሐፊውን አስመሳይነት ማሳየት እና ተጫዋቾች እንደዚህ አይነት ጣቢያ ሊኖር እና ደንበኞችን እንኳን ማምጣት እንደሚችሉ ማመን አለባቸው. እና አመጣው! ጨዋታው እየተካሄደ እያለ ድህረ ገፆችን ለመፍጠር ሁለት ጊዜ ተገናኝተናል።
መጀመሪያ ላይ ብዙ gifs እና የሚያብረቀርቁ ንጥረ ነገሮችን ለማካተት እየሞከርኩ ንድፉን እራሴ አደረግሁ። ነገር ግን የ10 አመት ዲዛይነር ባለቤቴ ትከሻውን ተመልክቶ “በጣም ጥሩ” ሲል አሰናበተው። የንድፍ ደንቦችን ለመጣስ, እነሱን ማወቅ ያስፈልግዎታል.
ዘላቂ የሆነ የመጸየፍ ስሜት የሚቀሰቅሱ በርካታ የቀለም ቅንጅቶች አሉ-አረንጓዴ እና ቀይ እኩል ብልጽግና ፣ ግራጫ እና ሮዝ ፣ ሰማያዊ እና ቡናማ። በመጨረሻ ፣ እንደ መሰረታዊ ቀለሞች በቀይ እና አረንጓዴ ጥምረት ላይ ተቀመጥን ፣ gifs ከድመት ጋር ጨምረን እና የሶኮሎቭን እራሱን ከአክሲዮን ፎቶ 3-4 ፎቶዎችን መርጠናል ። ጥቂት መስፈርቶች ብቻ ነበሩኝ፡ መካከለኛ እድሜ ያለው ሰው፣ የማይመጥን ልብስ ለብሶ ጥንዶች መጠን በጣም ትልቅ እና በ"ፕሮፌሽናል ስቱዲዮ ፎቶ ቀረጻ" ውስጥ። ለፈተናው ለጓደኞቻቸው አሳይተው "እንዴት ይወዳሉ?"
በዲዛይን ልማት ሂደት ባለቤቴ በየግማሽ ሰዓቱ መተኛት ነበረበት፤ ሄሊኮፕተሩ መብረር ጀመረ። ፓሻ የፊት ለፊት ገፅታውን እንደጨረሰ - ዓይኖቹን ለመጠበቅ የገንቢውን ኮንሶል ወደ አብዛኛው ማያ ገጽ ለመክፈት ሞከረ።
ትክክለኛ መሣሪያዎች
ደጋፊዎቹ እና መብራቶቹ በሙሉ ኃይል ወዲያው እንዳይበሩ በጠንካራ ግዛት ቅብብሎሽ በኩል ተጭነዋል - ስለዚህም ኃይሉ ከክትትል ጋር በትይዩ ይጨምራል።
ግን ስለዚህ ጉዳይ በሚቀጥለው ጽሁፍ ላይ ስለ ጨዋታው የሃርድዌር ክፍል እና ስለ ጣቢያው ትክክለኛ ግንባታ እንነጋገራለን.
ተጠንቀቁ!
አገልጋዩን ለማጥፋት ስላለው ተልዕኮ ሌሎች መጣጥፎች
ምንጭ: hab.com