프로젝트 다크스타
Project Darkstar원저작자 | Sun Microsystems |
---|---|
초기 릴리즈 | 2007년 8월 30일 ( |
안정된 릴리스 | 2009년 10월 29일 / 9월 9일, 전 ( 10월 29일) |
기입처 | 자바 |
플랫폼 | 자바 |
유형 | MMOG 미들웨어 |
면허증. | GPLv2, BSD |
웹 사이트 | http://www.projectdarkstar.com/ |
Project Darkstar는 Java로 작성된 오픈 소스 MMOG 미들웨어 솔루션입니다.Darkstar 프로젝트는 1999년 Jeff Kesselman의 개인 프로젝트로 시작되었습니다.이후 Sun Microsystems의 [1]연구 프로젝트가 되었고, "개발자와 운영자가 존 과부하, 데이터 손상,[2][3] 서버 저사용률 등 오늘날 대규모 온라인 게임, 가상 세계 및 소셜 네트워킹 애플리케이션과 관련된 심각하지만 일반적인 문제를 피할 수 있도록 지원하는 것"을 목표로 했습니다.
역사
프로젝트 다크스타는 1999년 Jeff Kesselman이 Total Entertainment Network의 시니어 게임 인테그레이션 엔지니어로서 개인 프로젝트로 시작되었습니다.2004년에 Sun's Game Technology Group이 결성되었고, 당시 Keselman씨는 Sun에 프로젝트의 제3판을 도입하여 Sun Game Server라고 불리고 있었습니다.(SGS 모니커는 Project Darkstar Server의 패키지명으로 오늘날까지 존속하고 있습니다.)
Kesselman은 Sun에서 솔로 프로젝트로 1년 동안 3번째 버전을 작업했고, 그 해 게임 개발자 회의에서 초기 버전을 선보였다.2005년 소프트웨어 CTO 사무실이 개편된 후 Sun Labs 디렉터 Karl Haberl이 이끄는 Sun Labs로 프로젝트를 옮겼습니다.Karl은 인원을 증가시켜, 계약자인 James Megquier와 Sten Anderson 뿐만 아니라, Seth Proctor와 Dan Ellard를 공동 연구원으로 추가했습니다.이 팀은, GDC 2005용의 최초의 가동 서버인, 현재의 얼리 액세스 버전을 제공했습니다.
2010년 2월 2일, Jim Waldo는 "프로젝트 발표" 포럼에 "Sun Labs 엔지니어링 작업은 더 이상 Darkstar 개발에 적용되지 않습니다."라고 글을 올렸습니다.Sun Labs 팀의 많은 멤버와 Darkstar 커뮤니티의 많은 멤버는 Darkstar의 [4]후계자로서 RedDwarf Server에서 한때 작업했습니다.
특징들
Project Darkstar 서버 구현이 실행되면 새 네트워크를 시작하거나 현재 실행 중인 네트워크에 가입합니다.모든 네트워크에는 클라이언트, 서버 구현, 서버 구현이 실행되는 Project Darkstar 스택 및 서버 스택 내의 각 노드 간의 트래픽을 처리하는 여러 메타 서비스 노드가 포함됩니다.서버 구현은 Project Darkstar API로 작성된 사용자 생성 프로그램입니다.클라이언트에는 네트워크 내의 게임서버에 접속되어 있는 모든 클라이언트측 애플리케이션과 게임이 포함됩니다.
Project Darkstar는 대규모 멀티플레이어 게임에 필수적인 모든 기능을 지원함과 동시에 대규모 멀티플레이어 [5]온라인 게임을 지원할 수 있을 만큼 충분히 확장 가능하도록 개발되고 있습니다.이와 같이, 서포트되고 있는 기능이나, 실장되어 적극적으로 통합되고 있는 기능도 많이 있습니다.
- CPU 로드 밸런싱
- 메타 서비스
- 버클리 DB를 사용한 영구 데이터 스토리지
- 트랜잭션
- 듀핑 방지
- 채널 통신
- 확장 가능한 데이터 구조
- 플러그형 프로토콜
- 관리[citation needed] 도구
Project Darkstar의 API는 이 기술을 사용하는 개발자들에게 중요한 컴포넌트입니다.이를 통해 고객은 클라이언트 테크놀로지와 올바르게 통신할 수 있는 게임 서버를 개발할 수 있으며 Project Darkstar 게임 스택 위에서 서버를 가동할 수 있습니다.API는 Project Darkstar 스택이 개발자를 위해 수행하는 기본 시스템의 동시성을 숨기기 위해 작성되었으며, 스택이 완전히 평행하더라도 프로그램은 단일 스레드인 것처럼 작성될 수 있습니다.API의 주요 부분에는 작업 관리, 데이터 지속성 및 채널 [6]통신이 포함됩니다.
Project Darkstar 서버에서의 정보 제어는 일반적으로 태스크에 의해 처리되지만, 특별한 경우에는 태스크가 필요하지 않은 경우도 있습니다.작업 실행 시 저장 및 기억되므로 서버의 크래시 또는 셧다운으로부터 데이터 저장 또는 취득을 보호해야 하는 경우에 사용됩니다.또,[7] 크래시 전과 같은 상태로 서버를 재기동하면, 재기동할 수 있습니다.이는 문자 정보를 업데이트할 때 등에 유용합니다.서버 내부에서 문제가 발생하면 문자 정보가 유지되며 서버 재시작 시 문자 정보가 크래시 [citation needed]전 상태로 복원됩니다.
프로젝트 다크스타에서 사용하는 버클리 DB는 유지되는 모든 데이터를 저장합니다.데이터베이스가 이진 정보를 저장하도록 프로그래밍되어 있기 때문에 데이터베이스에 저장되는 모든 것도 직렬화 가능해야 합니다.관리 대상 오브젝트는 플레이어 데이터(즉, 위치, 기기)에서 내부 서버 데이터 및 제어 논리(즉, 확장 가능한 데이터 구조, 태스크)에 이르기까지 모든 것이 될 수 있습니다.관리 객체의 유용성은 서버 장애의 경우에 나타납니다.관리 개체는 트랜잭션 방식으로 업데이트되므로 서버 재시작 시 손상된 데이터가 모두 폐기되고 관리 개체는 마지막 [citation needed]작동 상태로 롤백됩니다.
채널을 통해 개발자는 많은 고객과 쉽게 소통할 수 있습니다.채널은 클라이언트가 채널에 메시지를 보내고 채널에서 메시지를 수신할 수 있도록 채널에 가입하는 방법을 제공합니다.메시지가 클라이언트 또는 서버에서 채널로 전송되면 메시지는 해당 메시지에 가입되어 있는 모든 클라이언트에 멀티캐스트됩니다.이는 많은 클라이언트와 [citation needed]서버 간의 쉽고 확장 가능한 통신 개발을 지원하기 위해 통신 계층 위에 구축된 추상화입니다.
주목할 만한 용도
- Open Wonderland - 협업 3D 가상 세계를 만들기 위한 100% Java 오픈 소스 툴킷
접수처
일부 저자들은 Central Object Store와 분산 랜덤 액세스의 관리가 매우 인터랙티브한 게임 [10]환경에서는 현실적으로 가능하지 않을 수 있다고 제안했습니다.
레드워프
RedDwarf Server는 대규모 멀티플레이어 온라인 게임의 서버 측을 개발하기 위한 오픈 소스 미들웨어 솔루션입니다.그것은 프로젝트 다크스타의 공식 커뮤니티 포크였다.Oracle이 프로젝트 지원을 중단하자 커뮤니티는 Project Darkstar 저장소의 최신 코드 베이스를 리브랜딩하여 [11]RedDwarf Server로 출시했습니다.RedDwarf는 Project Darkstar 라이선스 스킴을 상속받았으며 RedDwarf 서버는 GPLv2로 배포되었으며 서버 API는 GNU General Public License(GPL)로 사용할 수 있게 되었습니다(클래스 패스 예외 포함).Java 및 C 클라이언트 API(RedDwarf 프로젝트의 일부로 사용 가능)는 BSD [12]라이선스로 배포되었습니다.
클라이언트는 Java 또는 C API를 사용하여 서버와 통신할 수 있습니다.커뮤니티는 또한 C#, Python, Objective-C 및 ActionScript를 [13]포함한 추가 플랫폼용 클라이언트 API를 출시했습니다.RedDwarf Server는 네트워크 [14]통신에 내장된 프로토콜을 사용합니다.
레퍼런스
- ^ Stephen Shankland (2006). "Sun's Project Darkstar aims for gaming services". CNET. Retrieved 2012-02-27.
- ^ Brent Rabowsky; Radiosity Press (8 January 2010). Interactive Entertainment: A Videogame Industry Guide. gameindustrybook. p. 55. ISBN 978-0-9842984-1-9. Retrieved 27 February 2012.
- ^ Tim Blackman (2006). "Scalable Data Storage in Project Darkstar" (PDF). Oracle.com. Retrieved 2012-02-27.[영구 데드링크]
- ^ "RedDwarf Server". 2010-02-17. Archived from the original on 2010-02-17. Retrieved 2020-07-17.
- ^ Andrew Davison (30 April 2007). Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs. Springer. p. 10. ISBN 978-1-59059-817-7. Retrieved 27 February 2012.
- ^ Diomidis Spinellis; Georgios Gousios (22 January 2009). Beautiful architecture. O'Reilly Media, Inc. p. 52. ISBN 978-0-596-51798-4. Retrieved 27 February 2012.
- ^ Vaclav Snasel; Jan Platos; Eyas El-Qawasmeh (20 August 2011). Digital Information Processing and Communications: International Conference, ICDIPC 2011, Ostrava, Czech Republic, July 7–9, 2011. Proceedings. Springer. p. 219. ISBN 978-3-642-22388-4. Retrieved 27 February 2012.
- ^ Joseph Fong; Reggie Kwan; Fu Lee Wang (2008). Hybrid Learning and Education: First International Conference, Ichl 2008 Hong Kong, China, August 13–15, 2008 Proceedings. Springer. p. 57. ISBN 978-3-540-85169-1. Retrieved 27 February 2012.
- ^ Youngkyun Baek (1 April 2010). Gaming for classroom-based learning: digital role playing as a motivator of study. Idea Group Inc (IGI). p. 272. ISBN 978-1-61520-713-8. Retrieved 27 February 2012.
- ^ Hamido Fujita; Imran Zualkernan (15 October 2008). New trends in software methodologies, tools and techniques: proceedings of the seventh SoMeT_08. IOS Press. p. 359. ISBN 978-1-58603-916-5. Retrieved 27 February 2012.
- ^ "Reddwarfserver Take a Good Book -".
- ^ "Reddwarfserver Take a Good Book -".
- ^ "RedDwarf".
- ^ https://svn.java.net/svn/sgs-server~sn/sn/sgs-server-0.9.10/sgs-server/src/main/com/sun/sgs/sn/sn/src/sns/sns/doc-files/config-properties.s.snsnsnsnsnsn.sng.s.