DOI QR코드

DOI QR Code

Adaptable Online Game Server Design

  • Seo, Jintaek (Game Development Track of International College, Dongseo University)
  • Received : 2020.03.16
  • Accepted : 2020.06.15
  • Published : 2020.06.30

Abstract

This paper discusses how to design a game server that is scalable, adaptable, and re-buildable with components. Furthermore, it explains how various implementation issues were resolved. To support adaptability, the server comprises three layers: network, user, and database. To ensure independence between the layers, each layer was designed to communicate with each other only via message queues. In this architecture, each layer can have an arbitrary number of threads; thus, scalability is guaranteed for each layer. The network layer uses input/output completion ports(IOCP), which shows the best performance on the Windows platform, it can handle up to 5,000 simultaneous connections on a typical entry-level computer, despite being built with a single-threaded user layer. To completely separate the database from the game server, the SQL code was not directly embedded in the database layer.

Keywords

References

  1. B. V. D. Bossche, T. Verdickt, B. D. Vleeschauwer, S. Desmet, S. D. Mulder, F. D. Turck, B. Dhoedt and P. Demeester, "A platform for dynamic microcell redeployment in massively multiplayer online games," in NOSSDAV '06 Proceedings of the 2006 International Workshop on Network and Operating Systems, Nov., 2006. DOI: 10.1145/1378191.1378195.
  2. K. Raaen, H. Espeland, H. K. Stensland, A. Petlund, P. Halvorsen and C. Griwodz, "A demonstration of a lockless, relaxed atomicity state parallel game server (LEARS)," in NetGames '11 Proceedings of the 10th Annual Workshop on Network and Systems Support for Games, Oct., 2011. DOI: 10.1109/NetGames.2011.6080994.
  3. F. Glinka, A. Ploss and S. Gorlatch, "RTF: a real-time framework for developing scalable multiplayer online games," in Proceedings of the 6th ACM SIGCOMM Workshop on Network and System Support for Games(NetGames '07), pp. 81-86, Melbourne, Australia, Sep. 2007. DOI: 10.1145/1326257.1326272.
  4. A. Ploss, F. Glinka, S. Gorlatch and J. Muller-Iden, "Towards a highlevel design approach for multi-server online games," in Prooceedings of the 8th International Conference on Intelligent Games and Simulation (GAMEON '07), pp. 10-17, Bologna, Italy, Nov. 2007.
  5. J. Brun, F. Safaei, and P. Boustead, "Server topology considerations in online games," in Proceedings of the 4th ACM Network and System Support for Games (NetGames), (Singapore), Oct. 2006. DOI: 10.1145/1230040.1230094.
  6. K. W. Lee, B. J. Ko, and S. Calo, "Adaptive server selection for large scale interactive online games," in Proceedings of NOSSDAV, (Kinsale, County Cork, Ireland), Jun. 2004. DOI: 10.1016/j.comnet.2005.04.006.
  7. M. H. Choi and I. Y. Moon, "Development of branch processing system using WebAssembly and JavaScript," Journal of Information and Communication Convergence Engineering, vol. 17, no. 4, pp. 234-238, Dec. 2019. DOI: 10.6109/jicce.2019.17.4.234.
  8. K. Rim and D. Lim, "DoS attack control design of IoT system for 5G era," Journal of Information and Communication Convergence Engineering, vol. 16, no. 2, pp. 93-98, Jun. 2018. DOI: 10.6109/jicce.2018.16.2.93.
  9. A. Jones and J. Ohlund, Network Programming for Microsoft Windows, 2nd ed, Microsoft Press, 2002.
  10. W. Celes, L. H. de Figueiredo et al, "Binding C/C++ objects to lua," in Game Programming Gems 6, M. Dickheiser, Ed., pp. 341-355, Charles River Media, Rockland, Mass, USA, 2006.