Project Darkstar
પ્રોજેક્ટ ડાર્કસ્ટાર એ જાવામાં લખાયેલ ઓપન સોર્સ એમ. એમ. ઓ. જી. મિડલવેર સોલ્યુશન હતું. પ્રોજેક્ટ ડાર્કસ્ટારની શરૂઆત 1999માં જેફ કેસેલમેનના વ્યક્તિગત પ્રોજેક્ટ તરીકે થઈ હતી. પાછળથી તે સન માઇક્રોસિસ્ટમ્સ ખાતે એક સંશોધન પ્રોજેક્ટ બની ગયો, અને તેનો ઉદ્દેશ "વિકાસકર્તાઓ અને ઓપરેટરોને ઝોન ઓવરલોડિંગ, ડેટા ભ્રષ્ટાચાર અને સર્વરનો ઓછો ઉપયોગ સહિત આજે મોટા પાયે ઓનલાઇન રમતો, વર્ચ્યુઅલ વિશ્વ અને સોશિયલ નેટવર્કિંગ એપ્લિકેશન્સ સાથે સંકળાયેલી ગંભીર, છતાં લાક્ષણિક સમસ્યાઓની શ્રેણીને ટાળવામાં મદદ કરવાનો છે". હિસ્ટ્રી પ્રોજેક્ટ ડાર્કસ્ટારની શરૂઆત 1999માં જેફ કેસેલમેનના વ્યક્તિગત પ્રોજેક્ટ તરીકે થઈ હતી, જ્યારે તેઓ ટોટલ એન્ટરટેઇનમેન્ટ નેટવર્કમાં સિનિયર ગેમ ઇન્ટિગ્રેશન એન્જિનિયર હતા. 2004 માં, સનના ગેમ ટેક્નોલોજી ગ્રૂપની રચના કરવામાં આવી હતી, અને તે સમયે શ્રી કેસેલમેન પ્રોજેક્ટનું ત્રીજું પુનરાવર્તન સનમાં લાવ્યા હતા જ્યાં તેને સન ગેમ સર્વર નામ આપવામાં આવ્યું હતું. (એસ. જી. એસ. ઉપનામ પ્રોજેક્ટ ડાર્કસ્ટાર સર્વરના પેકેજ નામોમાં આજે પણ અસ્તિત્વ ધરાવે છે.) શ્રી કેસેલમેને સનમાં એક સોલો પ્રોજેક્ટ તરીકે ત્રીજા સંસ્કરણ પર એક વર્ષ માટે કામ કર્યું હતું, તે વર્ષે ગેમ ડેવલપર્સ કોન્ફરન્સમાં પ્રારંભિક સંસ્કરણની શરૂઆત કરી હતી. 2005માં સોફ્ટવેર સીટીઓની કચેરીના પુનર્ગઠન પછી, આ પ્રોજેક્ટને સન લેબ્સના નિર્દેશક કાર્લ હેબરલ હેઠળ સન લેબ્સમાં ખસેડવામાં આવ્યો હતો. કાર્લે માનવ-શક્તિમાં વધારો કર્યો, શેઠ પ્રોક્ટર અને ડેન એલાર્ડને સહ-સંશોધકો તરીકે ઉમેર્યા, તેમજ ઠેકેદારો જેમ્સ મેગક્વિઅર અને સ્ટેન એન્ડરસનને પણ ઉમેર્યા. આ ટીમે GDC 2005 માટે પ્રથમ કાર્યરત સર્વર, જે હવે અર્લી એક્સેસ વર્ઝન તરીકે ઓળખાય છે, તે વિતરિત કર્યું. 2 ફેબ્રુઆરી, 2010ના રોજ, ઓરેકલ દ્વારા સનની ખરીદીના પગલે, જિમ વાલ્ડોએ "પ્રોજેક્ટ જાહેરાત" મંચ પર પોસ્ટ કર્યું હતું કે "સન લેબ્સના ઇજનેરી પ્રયાસો હવે ડાર્કસ્ટાર વિકાસ માટે લાગુ કરવામાં આવી રહ્યા નથી". સન લેબ્સ ટીમના સંખ્યાબંધ સભ્યો અને ડાર્કસ્ટાર સમુદાયના સંખ્યાબંધ સભ્યોએ ડાર્કસ્ટારના અનુગામી તરીકે રેડડ્વાર્ફ સર્વર પર થોડા સમય માટે કામ કર્યું હતું. સુવિધાઓ જ્યારે પ્રોજેક્ટ ડાર્કસ્ટાર સર્વર અમલીકરણ ચલાવવામાં આવે છે, ત્યારે તે કાં તો નવું નેટવર્ક શરૂ કરે છે અથવા હાલમાં ચાલી રહેલા નેટવર્કમાં જોડાય છે. બધા નેટવર્ક્સમાં ક્લાયન્ટ્સ, સર્વર અમલીકરણ, એક પ્રોજેક્ટ ડાર્કસ્ટાર સ્ટેક હોય છે જેના પર સર્વર અમલીકરણ ચાલે છે, અને કેટલાક મેટા-સર્વિસ નોડ્સ હોય છે જે સર્વર સ્ટેકમાં દરેક નોડ વચ્ચે ટ્રાફિકનું સંચાલન કરે છે. સર્વર અમલીકરણ એ પ્રોજેક્ટ ડાર્કસ્ટાર API સાથે લખાયેલ વપરાશકર્તા દ્વારા બનાવેલ પ્રોગ્રામ છે. ક્લાયન્ટ્સમાં તમામ ક્લાયન્ટ-સાઇડ એપ્લિકેશન્સ અને ગેમ્સનો સમાવેશ થાય છે જે નેટવર્કમાં ગેમ સર્વર સાથે જોડાયેલા હોય છે. પ્રોજેક્ટ ડાર્કસ્ટાર મોટા પાયે મલ્ટિપ્લેયર રમત માટે મહત્વપૂર્ણ તમામ સુવિધાઓને ટેકો આપવા માટે વિકસાવવામાં આવી રહ્યો છે, અને તે જ સમયે બિન-વિશાળ મલ્ટિપ્લેયર ઓનલાઇન રમતોને ટેકો આપવા માટે પૂરતા પ્રમાણમાં સ્કેલેબલ છે. જેમ કે, ત્યાં ઘણી સુવિધાઓ છે જે તે સમર્થન આપે છે, અને ઘણી સુવિધાઓ કે જે અમલમાં મૂકવામાં આવી રહી છે અને તેમાં સક્રિય રીતે સંકલિત કરવામાં આવી રહી છે. સીપીયુ લોડ બેલેન્સિંગ મેટા-સેવાઓ બર્કલે ડીબી વ્યવહારોનો ઉપયોગ કરીને સતત ડેટા સ્ટોરેજ ડુપિંગ નિવારણ ચેનલ સંચાર સ્કેલેબલ ડેટા સ્ટ્રક્ચર્સ પ્લગેબલ પ્રોટોકોલ વહીવટી સાધનો પ્રોજેક્ટ ડાર્કસ્ટારનું એપીઆઈ એ વિકાસકર્તાઓ માટે મુખ્ય ઘટક છે જેઓ ટેકનોલોજીનો ઉપયોગ કરે છે. તેની સાથે, તેઓ તેમની ક્લાયન્ટ ટેકનોલોજી સાથે યોગ્ય રીતે વાતચીત કરવા માટે ગેમ સર્વર્સ વિકસાવી શકે છે અને એક સર્વર તૈયાર કરી શકે છે જે પ્રોજેક્ટ ડાર્કસ્ટાર ગેમ સ્ટેકની ટોચ પર ચાલે છે. એ. પી. આઈ. એ અંતર્ગત સિસ્ટમની સમવર્તીતાને છુપાવવા માટે લખવામાં આવે છે જે પ્રોજેક્ટ ડાર્કસ્ટાર સ્ટેક વિકાસકર્તા માટે કરે છે, જેથી પ્રોગ્રામને આ ભ્રમ સાથે લખી શકાય કે તે સિંગલ થ્રેડેડ છે, તેમ છતાં સ્ટેક સંપૂર્ણપણે સમાંતર છે. એપીઆઈના મુખ્ય ભાગોમાં કાર્ય વ્યવસ્થાપન, માહિતીની દ્રઢતા અને ચેનલ સંચારનો સમાવેશ થાય છે. પ્રોજેક્ટ ડાર્કસ્ટાર સર્વરમાં માહિતીનું નિયંત્રણ સામાન્ય રીતે કાર્યો દ્વારા કરવામાં આવે છે, જો કે કેટલાક ખાસ કિસ્સાઓમાં તે જરૂરી નથી. તેનો ઉપયોગ એવા કિસ્સાઓમાં થાય છે કે જ્યાં ડેટાનો સંગ્રહ અથવા પુનઃપ્રાપ્તિ સર્વર ક્રેશ અથવા શટડાઉનથી સુરક્ષિત હોવી આવશ્યક છે, કારણ કે જ્યારે કાર્યો ચલાવવામાં આવે છે ત્યારે તેને સાચવવામાં આવે છે અને યાદ રાખવામાં આવે છે, અને જ્યારે સર્વર તે જ સ્થિતિમાં પુનઃપ્રારંભ થાય છે જ્યારે તે ક્રેશ પહેલાં હતું. દાખલા તરીકે, અક્ષરની માહિતીને અપડેટ કરતી વખતે આ ઉપયોગી છે. જો સર્વરમાં આંતરિક રીતે કંઇક ખોટું થાય છે, તો અક્ષરની માહિતી ચાલુ રહે છે અને સર્વર પર અક્ષરની માહિતીને પુનઃપ્રારંભ કરવામાં આવે છે જે ક્રેશ પહેલાં છેલ્લી સ્થિતિમાંથી પુનઃસ્થાપિત કરવામાં આવશે. પ્રોજેક્ટ ડાર્કસ્ટાર દ્વારા ઉપયોગમાં લેવાતા બર્કલે ડી. બી. એ જાળવી રાખવાના તમામ ડેટાને સંગ્રહિત કરે છે. ડેટાબેઝમાં સંગ્રહિત કરવાની કોઈપણ વસ્તુ પણ શ્રેણીબદ્ધ હોવી જોઈએ, કારણ કે ડેટાબેઝ દ્વિસંગી માહિતી સંગ્રહિત કરવા માટે પ્રોગ્રામ કરેલ છે. મેનેજ્ડ ઓબ્જેક્ટ પ્લેયર ડેટામાંથી કંઈપણ હોઈ શકે છે (એટલે કે. સ્થિતિ, સાધનો) થી આંતરિક સર્વર ડેટા અને નિયંત્રણ તર્ક (એટલે કે. સ્કેલેબલ ડેટા સ્ટ્રક્ચર, કાર્યો). સંચાલિત વસ્તુઓની ઉપયોગીતા સર્વરની નિષ્ફળતાના ઉદાહરણમાં જોવા મળે છે. સંચાલિત ઓબ્જેક્ટ વ્યવહારથી અપડેટ કરવામાં આવે છે, સર્વર પુનઃપ્રારંભ પર કોઈપણ દૂષિત ડેટા કાઢી નાખવામાં આવે છે અને સંચાલિત ઓબ્જેક્ટને તેની છેલ્લી કાર્યકારી સ્થિતિમાં પાછું ફેરવવામાં આવે છે. ચેનલો વિકાસકર્તાઓને ઘણા ગ્રાહકો સાથે વાતચીત કરવાની સરળ રીત આપે છે. ચેનલો જે રીતે કામ કરે છે તે ગ્રાહકોને ચેનલો પર સબ્સ્ક્રાઇબ કરવાની રીત આપે છે જેથી તેઓ ચેનલ પર સંદેશા મોકલી શકે અને ચેનલમાંથી સંદેશા પ્રાપ્ત કરી શકે. જ્યારે ક્લાયન્ટ અથવા સર્વર તરફથી ચેનલ પર સંદેશ મોકલવામાં આવે છે, ત્યારે તે સંદેશ તેના સબ્સ્ક્રાઇબ કરેલા તમામ ક્લાયન્ટ્સ માટે મલ્ટીકાસ્ટ હોય છે. તે ઘણા ગ્રાહકો અને સર્વર વચ્ચે સરળ અને વિસ્તૃત સંચારના વિકાસમાં મદદ કરવા માટે સંચાર સ્તરની ટોચ પર બાંધવામાં આવેલું એક અમૂર્ત છે. નોંધપાત્ર ઉપયોગો ઓપન વન્ડરલેન્ડ-એક 100% જાવા ઓપન સોર્સ ટૂલકિટ સહયોગી 3D વર્ચ્યુઅલ વર્લ્ડ રિસેપ્શન બનાવવા માટે કેટલાક લેખકોએ સૂચવ્યું છે કે સેન્ટ્રલ ઓબ્જેક્ટ સ્ટોર અને ડિસ્ટ્રિબ્યુટેડ રેન્ડમ એક્સેસનું સંચાલન અત્યંત ઇન્ટરેક્ટિવ રમત વાતાવરણમાં વાસ્તવિક રીતે શક્ય ન પણ હોઈ શકે. રેડડ્વાર્ફ રેડડ્વાર્ફ સર્વર એ મોટા પાયે મલ્ટિપ્લેયર ઓનલાઇન રમતોની સર્વર-બાજુ વિકસાવવા માટે એક ઓપન-સોર્સ મિડલવેર સોલ્યુશન હતું. તે પ્રોજેક્ટ ડાર્કસ્ટારનો સત્તાવાર સામુદાયિક કાંટો હતો. એકવાર ઓરેકલે પ્રોજેક્ટ માટે ટેકો બંધ કરી દીધા પછી, સમુદાયે પ્રોજેક્ટ ડાર્કસ્ટારની રીપોઝીટરીઓના નવીનતમ કોડબેઝને રિબ્રાન્ડ કર્યું અને તેને રેડડ્વાર્ફ સર્વર તરીકે રજૂ કર્યું. રેડડ્વાર્ફને પ્રોજેક્ટ ડાર્કસ્ટાર લાઇસન્સિંગ યોજના વારસામાં મળી હતી, જેમાં જી. પી. એલ. વી. 2 હેઠળ રેડડ્વાર્ફ સર્વરનું વિતરણ કરવામાં આવ્યું હતું અને સર્વર એપીઆઈ ક્લાસપાથ અપવાદ સાથે જીએનયુ જનરલ પબ્લિક લાઇસન્સ (જી. પી. એલ.) હેઠળ ઉપલબ્ધ કરાવવામાં આવ્યા હતા. જાવા અને સી ક્લાયન્ટ એપીઆઈ-રેડડ્વાર્ફ પ્રોજેક્ટના ભાગ રૂપે ઉપલબ્ધ-બીએસડી લાઇસન્સ હેઠળ વિતરિત કરવામાં આવ્યા હતા. ગ્રાહકો જાવા અથવા સી એપીઆઈનો ઉપયોગ કરીને સર્વર સાથે વાતચીત કરી શકે છે. સમુદાયે C #, પાયથોન, ઓબ્જેક્ટિવ-C અને એક્શનસ્ક્રિપ્ટ સહિત વધારાના પ્લેટફોર્મ માટે ક્લાયન્ટ API પણ બહાર પાડ્યા. રેડડવર્ફ સર્વર નેટવર્ક સંચાર માટે બિલ્ટ-ઇન પ્રોટોકોલનો ઉપયોગ કરે છે. સંદર્ભો બાહ્ય કડીઓ પ્રોજેક્ટ ડાર્કસ્ટાર મોટા પાયે મલ્ટિપ્લેયર ઓનલાઇન ગેમ્સ નિષ્ક્રિય મોટા પાયે મલ્ટિપ્લેયર ઓનલાઇન ગેમ્સ સન માઇક્રોસિસ્ટમ્સ સોફ્ટવેર