{"id":13441725,"url":"https://github.com/BZFlag-Dev/bzflag","last_synced_at":"2025-03-20T12:32:36.967Z","repository":{"id":28845406,"uuid":"32369270","full_name":"BZFlag-Dev/bzflag","owner":"BZFlag-Dev","description":"3D multi-player tank battle game","archived":false,"fork":false,"pushed_at":"2024-05-21T21:13:50.000Z","size":225909,"stargazers_count":287,"open_issues_count":81,"forks_count":80,"subscribers_count":30,"default_branch":"2.4","last_synced_at":"2024-05-21T22:25:47.894Z","etag":null,"topics":["action-game","c-plus-plus","cross-platform-game","game","multiplayer","opengl"],"latest_commit_sha":null,"homepage":"https://www.bzflag.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BZFlag-Dev.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-17T03:26:50.000Z","updated_at":"2024-05-21T22:25:52.793Z","dependencies_parsed_at":"2023-02-12T19:01:03.942Z","dependency_job_id":"1ea390bb-2c3c-4f5d-af8b-898476ada100","html_url":"https://github.com/BZFlag-Dev/bzflag","commit_stats":null,"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZFlag-Dev%2Fbzflag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZFlag-Dev%2Fbzflag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZFlag-Dev%2Fbzflag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BZFlag-Dev%2Fbzflag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BZFlag-Dev","download_url":"https://codeload.github.com/BZFlag-Dev/bzflag/tar.gz/refs/heads/2.4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221760131,"owners_count":16876360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action-game","c-plus-plus","cross-platform-game","game","multiplayer","opengl"],"created_at":"2024-07-31T03:01:37.411Z","updated_at":"2025-03-20T12:32:36.953Z","avatar_url":"https://github.com/BZFlag-Dev.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"\t\t\t    BZFlag 2.4.31\n\t\t\t https://BZFlag.org/\n\t\tCopyright (c) 1993-2025 Tim Riker\n\nBZFlag is an Open Source OpenGL multiplayer multiplatform Battle Zone\ncapture the Flag game.  At its heart, the game is a 3D first person\ntank simulation where opposing teams battle for dominance.  The game\nwas originally written for SGI computers running Irix, but now runs\nand is actively maintained on Windows, Linux, Mac OS X, and other\nplatforms.\n\nBZFlag may be redistributed under either the LGPL or MPL licenses.\n\nThis is the BZFlag README file.  This file includes introductory build\ninstructions, user community interaction references, information for\ngetting involved in BZFlag development, a manifest of the source code\nlayout, basic usage expectations, contact information, and more.\n\n\nTable of Contents\n=================\n    Introduction\n    Table of Contents\n    Obtaining BZFlag\n    Compiling and Installation\n\tShort Version\n\tLong Version\n    Communication\n\tInternet Relay Chat\n\tForums\n    Bug Reports and Support\n    Providing Contributions\n    Source Tree Organization\n    Public Internet Servers and the \"list server\"\n    Notes on \"CHEAT\" servers and network abuse\n    Project History and Contributions\n    Contact\n\n\nObtaining BZFlag\n================\n\nMain BZFlag Website:  http://BZFlag.org\nBZFlag Github Site:  https://github.com/BZFlag-Dev/bzflag\n\nThe main BZFlag website provides access to most all of the resources\navailable for the game.  The binary and source distributions of BZFlag\nare, however, provided on the GitHub project site.  Compiled versions\nare distributed as installable packages, disk images, and more, with\ndetails varying depending on the platform.  Source code distributions\nare provided and archived in various formats as well. See the project\nsite for the download links.\n\nBZFlag is also available directly from GitHub.  To obtain BZFlag from\ngit, a bit more familiarity with software development is expected.\nIf you're familiar enough, anonymous GIT access is provided from the\nrepository:\n\n  https://github.com/BZFlag-Dev/bzflag.git\n\n\nCompiling and Installation\n==========================\n\nTo compile a playable BZFlag, the following steps should get you up\nand running quickly if everything external to BZFlag is properly\ninstalled:\n\n  ./autogen.sh\n  ./configure\n  make\n  ./src/bzflag/bzflag\n\nIf configure detected everything it needed to build the BZFlag client,\nafter make the client will be sitting in src/bzflag as 'bzflag'.  The\ngame can be run from there, though you will probably want to \"sudo\nmake install\" or otherwise become a privileged user and install the\ngame properly for your system.\n\nIf you're building on a platform that has a README.* file, you should\nconsult that file as they usually contain additional instructions or\ndetails specific for building on that platform.  There are often hints\nfor common problems specific to those platforms as well.\n\nThe Longer Version:\n\nTo build sources directly from a git clone you need to create a\nconfigure script. You can skip this step if you grab a distribution of\nBZFlag that already has a ./configure script in it, such as from a\nsource distribution tarball.  To generate the configure script, you\nneed to run the provided autogen.sh script:\n\n  ./autogen.sh\n\nThe script will report whether sufficient versions of the GNU Build\nSystem tools (i.e. autoconf, automake, and libtool) that were detected\nand if successful, a configure script will be generated.  If the\nscript fails, submit a report to the developers containing the output\nof \"sh autogen.sh -v\". This will run autogen.sh in verbose mode.  One\nof the most common failures is having insufficient versions or\nmismatched combinations of the GNU Build System tools, so make sure\nyour tools are recent.\n\nIf the previous step was successful you now have a script for\nconfiguring BZFlag.  This command:\n\n  ./configure --help\n\nwill list the variety of configuration options.  The script adapts\nwell to various system configurations, so it may be enough to simply\nrun it as:\n\n  ./configure\n\nYou may want to create a 'work' directory and configure from there to\nhave all the build products and binary executables get placed in a\ndirectory separate from the sources.  To do this, simply create a\ndirectory then run configure and make from there instead.\n\nAfter configure completes, it will report whether all the requisite\npackages were found that it needs in order to build the client and the\nserver.  The client is reliant upon the following external\ndependencies that should be installed before running configure:\n\n  OpenGL 1.0+\n  libSDL 1.2+\n\nIf you're on an operating system that uses a packaging system\n(e.g. apt, portage, ports, etc), be sure to install the development\nkit versions of each of those (e.g. xlibmesa-gl-dev package) so that\nheaders are made available.  You may also want to manually install\nother dependencies that BZFlag automatically provides if you do not\nhave them pre-installed:\n\n  c-ares\n  libCURL\n  libregex (usually provided as part of libc)\n  zlib\n\nThe README.Linux file includes a detailed list of of the packages\nneeded to compile and run BZFlag on some popular Linux distributions.\n\nThe final summary at the end of running configure will report whether\nthe client will be built or not.  Once configure has been run, you may\ncompile by simply running 'make'.  If you have GNU Make and are on a\nmultiprocessor system, you can build in parallel with the -j option:\n\n  make -j4\n\nIf compilation was successful, the client will be in src/bzflag and\nthe server will be in src/bzfs as 'bzflag' and 'bzfs' respectively.\nYou can run the client or the server directly from those locations\nwith or without installing:\n\n  src/bzflag/bzflag\n\nBZFlag looks for data files in a path defined during compile, in\n./data/ , or in the previously specified data path only.  As part of\nthe tarball/git clone, the base data library is located in\n\u003cinstalled-locale\u003e/bzflag/data.  This means that to test in a working\ndirectory you need to tell bzflag where to find these files if there\nis not a 'data' directory in your current directory.  This can be done\nwith a symbolic link:\n\n  ln -s ./path/to/bzflag/data\n\nAfter testing you can install BZFlag by running 'make install' with\nsufficient system installation privileges.  Use 'sudo', 'su', or\nsimilar methods to elevate your privileges when installing BZFlag\nsystem-wide:\n\n  sudo make install\n\nYou should now have BZFlag in the system directory ready to run.\n\nIf you do not have admin privileges on your platform, you can install\nfiles in a directory that you own; for this to work, you have to\nappend to the configure command the prefix option:\n\n  ./configure --prefix=YourHomeDirectoryHere\n\nYou will then be able to perform a \"make install\" without needing to\nelevate your privileges, and all bzflag executable files will be\ninstalled in the subdir bin of the specified path.\n\nFor additional information on installing, see INSTALL file.\n\nAgain, some platforms may be different.  See the README file\nappropriate to your system for more information.\n\nYou can also build an installable package using:\n\n  make package\n\nThe package will be placed in ./dist; the exact form of the package\ndepends on the platform.\n\nThere are three cleanup targets: clean, distclean, and\nmaintainer-clean.\n\n`make clean' removes intermediate files but leaves bzflag and other\nprograms and any man pages.\n\n`make distclean' removes everything clean does and also programs and\nman pages. This should get things back to a tarball state.\n\n`make maintainer-clean' removes everything distclean does and also\npackages, directories created during the build, and the platform\nconfiguration; this should get the source tree back to its state in\nthe Git repository.\n\nTo build BZFlag for an unsupported platform, see PORTING.\n\nThe ./configure script has a number of build options that you may find\ninteresting.\n\n\nCommunication\n=============\n\nThe BZFlag project has several resources set up for communicating both\nwith other developers and with the community.  There is an IRC\nchannel and forums.\n\nInternet Relay Chat\n-------------------\nMost of the BZFlag development activity and discussions occur over\nIRC.  Join the #bzflag IRC channel on the Libera.Chat network\n(irc.libera.chat, TLS port 6697) to get involved.\n\nSee https://web.libera.chat/ for a web based interface for\nfirst-time users.  Individuals that intend to stay in the channel are\nexpected to get a non-web-based IRC client.  See http://irchelp.org or\nsearch the web for IRC clients for your operating system.\n\nForums\n---------------\nThere are extensive and active forums used by players, server\noperators, administrators, and others available here:\n\nhttps://forums.bzflag.org\n\nRegistering an account on the forums presently also registers your callsign\nfor use inside of BZFlag.  Some servers require registration in order to\nplay.  See the Getting Started page on our site for more about registration.\n\n\nBug Reports and Support\n=======================\n\nFor reporting bugs and unexpected behavior, please go to BZFlag bug\ntracking system at:\n\nhttps://github.com/BZFlag-Dev/bzflag/issues\n\nIf you require assistance with some issue, please visit the BZFlag\nIRC channel at #bzflag at irc.libera.chat\n\nAlternatively, discussion forums are also available for resolving issues.\n\n\nProviding Contributions\n=======================\n\nPull Requests should be entered submitted via the GitHub pull system:\n\nhttps://github.com/BZFlag-Dev/bzflag/pulls\n\nContributions are gladly accepted for modifications that do not\naffect the core gameplay.  Interacting with the other developers in\nthe IRC channel is recommended for any changes which will affect\ngameplay.\n\n\nSource Tree Organization\n========================\n\nAfter unpacking a source distribution, you should have at least the\nfollowing files in the new 'bzflag' directory:\n\n  README\t- this file\n  README.*\t- platform specific details\n  AUTHORS\t- project contributors\n  COPYING\t- the license for BZFlag\n  ChangeLog\t- source code changes since previous release\n  DEVINFO       - information for developers\n  NEWS\t\t- history of visible changes for each release\n  PORTING\t- a guide for porting BZFlag\n  autogen.sh\t- build system preparation script\n  configure.ac\t- build system configuration script template\n  data/\t\t- data files (sounds, images, etc.)\n  include/\t- include headers for libraries\n  man/\t\t- man pages\n  misc/\t\t- miscellaneous goo\n  MSVC/\t\t- stuff for building on the Windows platform\n  package/\t- stuff to build installable packages\n  plugins/\t- bzfs plugins\n  src/\t\t- bzflag, bzfs, etc. source code\n    3D/\t\t  - 3D code including texture manager\n    bzadmin/      - bzadmin app source code (text admin/chat client)\n    bzflag/\t  - bzflag app source code (game client)\n    bzfs/\t  - bzfs app source code (game server)\n    common/\t  - general purpose classes\n    date/         - unified version and build date stamping for apps\n    game/\t  - game library used by both the server and client(s)\n    geometry/\t  - geometry rendering classes\n    mediafile/\t  - classes for reading resources\n    net/\t  - networking classes and functions\n    obstacle/\t  - collision detection stuff\n    ogl/\t  - OpenGL utility classes\n    platform/\t  - platform dependent code\n    scene/\t  - high level rendering algorithms\n  tools/\t- various helper utilities\n  Xcode\t        - Mac OS X Xcode project and associated files\n\nNote that include/ does not have all the include files.  If a header\nis used entirely within a library (i.e. it doesn't directly provide\nfunctionality outside the library) then the header is found in the\nlibrary's directory under src/.  An include file goes in include/ only\nif it's required by another library or libraries or executables.\nWhile this complicates locating a header file (it can be in one of two\nplaces instead of just one place), you can instantly tell if a header\nfile is (can be) used by clients of the library.\n\n\nPublic Internet Servers and the \"list server\"\n=============================================\n\nThe bzflag project offers a public server listing service that allows\nplayers to find servers to play on. This service is run for the\nbenefit of the project. As of Version 2.4, BZFlag servers that wish to\nbe listed on the public list server must provide an authentication key\nthat ties the server to a specific global user. This is done to\nprovide contact information for players and project\nstaff. Authentication keys are automatically generated at\nhttps://my.bzflag.org/listkeys/\n\n\nNotes on \"CHEAT\" servers and network abuse\n==========================================\n\nWhile the license for BZFlag certainly allows users to run any server\nmodification that they wish or to modify the code in any way, we ask\nthat people do not publish or host \"cheat\" clients or servers to the\ngeneral public for use.  We also expect that users will abide by basic\nusage guidelines of reasonable and tolerable behavior that are not\ndetrimental to the game's heritage of a fun gaming environment for\nall.\n\nWe understand the desire to expand, modify, and improve the game and\nits sources including the ability to test out new features publicly.\nThese modified clients and servers generally provide some advantage\nover unmodified clients and are generally discouraged for widespread\nuse.  As such, we ask that anyone wishing to host or otherwise\nparticipate in a game that involves a modified client or server to\nregister under a different network protocol than the current public\nrelease by modifying BZ_PROTO_VERSION in the src/date/buildDate.cxx\nfile.  This will let modified games be played and prevent modified\nclients from being used on public unmodified servers.\n\nAny individuals that are found to be contributing to abuse of the\npublic services being provided may be subject to bans or other access\nrestrictions.  Abuse generally consists of any disruption to one of\nBZFlag's network services including denial of service attacks,\nspamming of BZFlag web sites or servers, disruptive gameplay on\nmultiple public servers, intrusion attempts, password sniffing, or any\nother behavior that is deemed inappropriate.\n\nThe BZFlag project administrators reserve the right to remove public\nlistings of any game servers for any reason whatsoever, including\nremoval of servers or banning of individuals that do not follow this\nrequest.  Similarly, the BZFlag project administrators also reserve\nthe right to limit access or otherwise block any players from public\nservice access at any time.  These actions may include the suspension\nor removal of global accounts and limiting access to the web site\nservices including web site services, list server access, forum access,\nand any league resources.\n\nIn general, the entire network is provided by the community for the\ncommunity as an entirely volunteer and contributed effort.  We ask\nthat all players recognize and respect the time, effort, and resources\ninvolved and that we're all generally here to have a good time.\n\n\nProject History and Contributions\n=================================\n\nBZFlag was primarily originally authored by Chris Schoeneman\n\u003ccrs23@bigfoot.com\u003e in the early 1990's.  After several years of\ndevelopment, Chris turned over copyright and maintainership of the\ngame to Tim Riker.\n\nBZFlag continues today to be maintained and developed by the Open\nSource community by a project administration team with contributions coming\nin from all over the world.  See the AUTHORS file for more details on\ncontributions to the project.\n\n\nContact\n=======\n\nAny of the core developers listed in the AUTHORS file are generally\nreceptive to being contacted for most matters relating to the game.\nInternet Relay Chat (IRC) or e-mail is generally the expected method\nof interaction with IRC being generally preferred.  The project\nmaintainer Tim Riker \u003cTim@Rikers.org\u003e is available for most legal matters,\nbut day to day development is handled by the Project Administrators:\n\nScott Wichser (blast007) \u003cblast007@users.sourceforge.net\u003e\nJeff Makey (BulletCatcher) \u003cbullet_catcher@users.sourceforge.net\u003e\n\nHappy Shooting!\nThe BZFlag Development Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBZFlag-Dev%2Fbzflag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBZFlag-Dev%2Fbzflag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBZFlag-Dev%2Fbzflag/lists"}