game_dig 0.0.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/CHANGELOG.md +13 -0
  4. data/README.md +89 -26
  5. data/Rakefile +8 -0
  6. data/cli/pry_nodo.rb +5 -0
  7. data/game_dig.gemspec +21 -14
  8. data/lib/custom_errors/cli_not_found.rb +4 -0
  9. data/lib/custom_errors/error.rb +4 -0
  10. data/lib/game_dig/helper.rb +51 -0
  11. data/lib/game_dig/node/gamedig-example.js +17 -0
  12. data/lib/game_dig/node/node_modules/.bin/fxparser +1 -0
  13. data/lib/game_dig/node/node_modules/.bin/gamedig +1 -0
  14. data/lib/game_dig/node/node_modules/.bin/seek-bunzip +1 -0
  15. data/lib/game_dig/node/node_modules/.bin/seek-table +1 -0
  16. data/lib/game_dig/node/node_modules/.yarn-integrity +73 -0
  17. data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/index.d.ts +246 -0
  18. data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/index.js +454 -0
  19. data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/types.d.ts +32 -0
  20. data/lib/game_dig/node/node_modules/@sindresorhus/is/dist/types.js +2 -0
  21. data/lib/game_dig/node/node_modules/@sindresorhus/is/license +9 -0
  22. data/lib/game_dig/node/node_modules/@sindresorhus/is/package.json +76 -0
  23. data/lib/game_dig/node/node_modules/@sindresorhus/is/readme.md +698 -0
  24. data/lib/game_dig/node/node_modules/@szmarczak/http-timer/LICENSE +21 -0
  25. data/lib/game_dig/node/node_modules/@szmarczak/http-timer/README.md +93 -0
  26. data/lib/game_dig/node/node_modules/@szmarczak/http-timer/dist/source/index.d.ts +32 -0
  27. data/lib/game_dig/node/node_modules/@szmarczak/http-timer/dist/source/index.js +106 -0
  28. data/lib/game_dig/node/node_modules/@szmarczak/http-timer/package.json +89 -0
  29. data/lib/game_dig/node/node_modules/@types/http-cache-semantics/LICENSE +21 -0
  30. data/lib/game_dig/node/node_modules/@types/http-cache-semantics/README.md +15 -0
  31. data/lib/game_dig/node/node_modules/@types/http-cache-semantics/index.d.ts +165 -0
  32. data/lib/game_dig/node/node_modules/@types/http-cache-semantics/package.json +25 -0
  33. data/lib/game_dig/node/node_modules/any-promise/.jshintrc +4 -0
  34. data/lib/game_dig/node/node_modules/any-promise/.npmignore +7 -0
  35. data/lib/game_dig/node/node_modules/any-promise/LICENSE +19 -0
  36. data/lib/game_dig/node/node_modules/any-promise/README.md +161 -0
  37. data/lib/game_dig/node/node_modules/any-promise/implementation.d.ts +3 -0
  38. data/lib/game_dig/node/node_modules/any-promise/implementation.js +1 -0
  39. data/lib/game_dig/node/node_modules/any-promise/index.d.ts +73 -0
  40. data/lib/game_dig/node/node_modules/any-promise/index.js +1 -0
  41. data/lib/game_dig/node/node_modules/any-promise/loader.js +78 -0
  42. data/lib/game_dig/node/node_modules/any-promise/optional.js +6 -0
  43. data/lib/game_dig/node/node_modules/any-promise/package.json +45 -0
  44. data/lib/game_dig/node/node_modules/any-promise/register/bluebird.d.ts +1 -0
  45. data/lib/game_dig/node/node_modules/any-promise/register/bluebird.js +2 -0
  46. data/lib/game_dig/node/node_modules/any-promise/register/es6-promise.d.ts +1 -0
  47. data/lib/game_dig/node/node_modules/any-promise/register/es6-promise.js +2 -0
  48. data/lib/game_dig/node/node_modules/any-promise/register/lie.d.ts +1 -0
  49. data/lib/game_dig/node/node_modules/any-promise/register/lie.js +2 -0
  50. data/lib/game_dig/node/node_modules/any-promise/register/native-promise-only.d.ts +1 -0
  51. data/lib/game_dig/node/node_modules/any-promise/register/native-promise-only.js +2 -0
  52. data/lib/game_dig/node/node_modules/any-promise/register/pinkie.d.ts +1 -0
  53. data/lib/game_dig/node/node_modules/any-promise/register/pinkie.js +2 -0
  54. data/lib/game_dig/node/node_modules/any-promise/register/promise.d.ts +1 -0
  55. data/lib/game_dig/node/node_modules/any-promise/register/promise.js +2 -0
  56. data/lib/game_dig/node/node_modules/any-promise/register/q.d.ts +1 -0
  57. data/lib/game_dig/node/node_modules/any-promise/register/q.js +2 -0
  58. data/lib/game_dig/node/node_modules/any-promise/register/rsvp.d.ts +1 -0
  59. data/lib/game_dig/node/node_modules/any-promise/register/rsvp.js +2 -0
  60. data/lib/game_dig/node/node_modules/any-promise/register/vow.d.ts +1 -0
  61. data/lib/game_dig/node/node_modules/any-promise/register/vow.js +2 -0
  62. data/lib/game_dig/node/node_modules/any-promise/register/when.d.ts +1 -0
  63. data/lib/game_dig/node/node_modules/any-promise/register/when.js +2 -0
  64. data/lib/game_dig/node/node_modules/any-promise/register-shim.js +18 -0
  65. data/lib/game_dig/node/node_modules/any-promise/register.d.ts +17 -0
  66. data/lib/game_dig/node/node_modules/any-promise/register.js +94 -0
  67. data/lib/game_dig/node/node_modules/barse/.npmignore +2 -0
  68. data/lib/game_dig/node/node_modules/barse/.travis.yml +4 -0
  69. data/lib/game_dig/node/node_modules/barse/README.md +138 -0
  70. data/lib/game_dig/node/node_modules/barse/example/complete.js +34 -0
  71. data/lib/game_dig/node/node_modules/barse/example/next.js +21 -0
  72. data/lib/game_dig/node/node_modules/barse/index.js +282 -0
  73. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/.npmignore +5 -0
  74. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/LICENSE +18 -0
  75. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/README.md +15 -0
  76. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/duplex.js +1 -0
  77. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
  78. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
  79. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_readable.js +982 -0
  80. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_transform.js +210 -0
  81. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/lib/_stream_writable.js +386 -0
  82. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/package.json +32 -0
  83. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/passthrough.js +1 -0
  84. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/readable.js +11 -0
  85. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/transform.js +1 -0
  86. data/lib/game_dig/node/node_modules/barse/node_modules/readable-stream/writable.js +1 -0
  87. data/lib/game_dig/node/node_modules/barse/package.json +48 -0
  88. data/lib/game_dig/node/node_modules/barse/test/integration.js +37 -0
  89. data/lib/game_dig/node/node_modules/barse/test/loop.js +36 -0
  90. data/lib/game_dig/node/node_modules/barse/test/next.js +34 -0
  91. data/lib/game_dig/node/node_modules/barse/test/scope.js +18 -0
  92. data/lib/game_dig/node/node_modules/barse/test/string.js +33 -0
  93. data/lib/game_dig/node/node_modules/barse/test/vars.js +20 -0
  94. data/lib/game_dig/node/node_modules/cacheable-lookup/LICENSE +21 -0
  95. data/lib/game_dig/node/node_modules/cacheable-lookup/README.md +245 -0
  96. data/lib/game_dig/node/node_modules/cacheable-lookup/index.d.ts +144 -0
  97. data/lib/game_dig/node/node_modules/cacheable-lookup/package.json +61 -0
  98. data/lib/game_dig/node/node_modules/cacheable-lookup/source/index.js +452 -0
  99. data/lib/game_dig/node/node_modules/cacheable-request/README.md +335 -0
  100. data/lib/game_dig/node/node_modules/cacheable-request/dist/index.d.ts +17 -0
  101. data/lib/game_dig/node/node_modules/cacheable-request/dist/index.d.ts.map +1 -0
  102. data/lib/game_dig/node/node_modules/cacheable-request/dist/index.js +275 -0
  103. data/lib/game_dig/node/node_modules/cacheable-request/dist/index.js.map +1 -0
  104. data/lib/game_dig/node/node_modules/cacheable-request/dist/types.d.ts +106 -0
  105. data/lib/game_dig/node/node_modules/cacheable-request/dist/types.d.ts.map +1 -0
  106. data/lib/game_dig/node/node_modules/cacheable-request/dist/types.js +19 -0
  107. data/lib/game_dig/node/node_modules/cacheable-request/dist/types.js.map +1 -0
  108. data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/index.d.ts +29 -0
  109. data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/index.js +75 -0
  110. data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/license +9 -0
  111. data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/package.json +44 -0
  112. data/lib/game_dig/node/node_modules/cacheable-request/node_modules/mimic-response/readme.md +78 -0
  113. data/lib/game_dig/node/node_modules/cacheable-request/package.json +121 -0
  114. data/lib/game_dig/node/node_modules/commander/CHANGELOG.md +361 -0
  115. data/lib/game_dig/node/node_modules/commander/LICENSE +22 -0
  116. data/lib/game_dig/node/node_modules/commander/Readme.md +791 -0
  117. data/lib/game_dig/node/node_modules/commander/index.js +1881 -0
  118. data/lib/game_dig/node/node_modules/commander/package.json +51 -0
  119. data/lib/game_dig/node/node_modules/commander/typings/index.d.ts +410 -0
  120. data/lib/game_dig/node/node_modules/core-util-is/LICENSE +19 -0
  121. data/lib/game_dig/node/node_modules/core-util-is/README.md +3 -0
  122. data/lib/game_dig/node/node_modules/core-util-is/lib/util.js +107 -0
  123. data/lib/game_dig/node/node_modules/core-util-is/package.json +38 -0
  124. data/lib/game_dig/node/node_modules/decompress-response/index.d.ts +22 -0
  125. data/lib/game_dig/node/node_modules/decompress-response/index.js +58 -0
  126. data/lib/game_dig/node/node_modules/decompress-response/license +9 -0
  127. data/lib/game_dig/node/node_modules/decompress-response/package.json +56 -0
  128. data/lib/game_dig/node/node_modules/decompress-response/readme.md +48 -0
  129. data/lib/game_dig/node/node_modules/defer-to-connect/LICENSE +21 -0
  130. data/lib/game_dig/node/node_modules/defer-to-connect/README.md +38 -0
  131. data/lib/game_dig/node/node_modules/defer-to-connect/dist/source/index.d.ts +10 -0
  132. data/lib/game_dig/node/node_modules/defer-to-connect/dist/source/index.js +47 -0
  133. data/lib/game_dig/node/node_modules/defer-to-connect/package.json +71 -0
  134. data/lib/game_dig/node/node_modules/emitter-component/History.md +35 -0
  135. data/lib/game_dig/node/node_modules/emitter-component/Makefile +7 -0
  136. data/lib/game_dig/node/node_modules/emitter-component/Readme.md +70 -0
  137. data/lib/game_dig/node/node_modules/emitter-component/bower.json +21 -0
  138. data/lib/game_dig/node/node_modules/emitter-component/component.json +9 -0
  139. data/lib/game_dig/node/node_modules/emitter-component/index.js +164 -0
  140. data/lib/game_dig/node/node_modules/emitter-component/package.json +19 -0
  141. data/lib/game_dig/node/node_modules/emitter-component/test/emitter.js +195 -0
  142. data/lib/game_dig/node/node_modules/event-to-promise/LICENSE +14 -0
  143. data/lib/game_dig/node/node_modules/event-to-promise/README.md +180 -0
  144. data/lib/game_dig/node/node_modules/event-to-promise/index.js +106 -0
  145. data/lib/game_dig/node/node_modules/event-to-promise/package.json +35 -0
  146. data/lib/game_dig/node/node_modules/fast-xml-parser/CHANGELOG.md +671 -0
  147. data/lib/game_dig/node/node_modules/fast-xml-parser/LICENSE +21 -0
  148. data/lib/game_dig/node/node_modules/fast-xml-parser/README.md +223 -0
  149. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
  150. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -0
  151. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
  152. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.d.cts +458 -0
  153. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
  154. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -0
  155. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
  156. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -0
  157. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxvalidator.min.js +2 -0
  158. data/lib/game_dig/node/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -0
  159. data/lib/game_dig/node/node_modules/fast-xml-parser/package.json +90 -0
  160. data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/cli.js +97 -0
  161. data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/man.js +17 -0
  162. data/lib/game_dig/node/node_modules/fast-xml-parser/src/cli/read.js +43 -0
  163. data/lib/game_dig/node/node_modules/fast-xml-parser/src/fxp.d.ts +445 -0
  164. data/lib/game_dig/node/node_modules/fast-xml-parser/src/fxp.js +14 -0
  165. data/lib/game_dig/node/node_modules/fast-xml-parser/src/ignoreAttributes.js +18 -0
  166. data/lib/game_dig/node/node_modules/fast-xml-parser/src/util.js +68 -0
  167. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +16 -0
  168. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +104 -0
  169. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +61 -0
  170. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +69 -0
  171. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +103 -0
  172. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +100 -0
  173. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +154 -0
  174. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +94 -0
  175. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
  176. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/TagPath.js +81 -0
  177. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +13 -0
  178. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XMLParser.js +83 -0
  179. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +235 -0
  180. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +210 -0
  181. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +111 -0
  182. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +116 -0
  183. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +121 -0
  184. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +105 -0
  185. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +22 -0
  186. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +19 -0
  187. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +38 -0
  188. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +13 -0
  189. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +14 -0
  190. data/lib/game_dig/node/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +6 -0
  191. data/lib/game_dig/node/node_modules/fast-xml-parser/src/validator.js +425 -0
  192. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +285 -0
  193. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +134 -0
  194. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlbuilder/prettifyJs2Xml.js +0 -0
  195. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +369 -0
  196. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +46 -0
  197. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +606 -0
  198. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +71 -0
  199. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/node2json.js +119 -0
  200. data/lib/game_dig/node/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +40 -0
  201. data/lib/game_dig/node/node_modules/form-data-encoder/@type/FileLike.d.ts +23 -0
  202. data/lib/game_dig/node/node_modules/form-data-encoder/@type/FormDataEncoder.d.ts +169 -0
  203. data/lib/game_dig/node/node_modules/form-data-encoder/@type/FormDataLike.d.ts +40 -0
  204. data/lib/game_dig/node/node_modules/form-data-encoder/@type/index.d.ts +5 -0
  205. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/Headers.d.ts +8 -0
  206. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/createBoundary.d.ts +12 -0
  207. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/escapeName.d.ts +10 -0
  208. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/getStreamIterator.d.ts +6 -0
  209. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFile.d.ts +34 -0
  210. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFormData.d.ts +7 -0
  211. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isFunction.d.ts +6 -0
  212. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/isPlainObject.d.ts +1 -0
  213. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/normalizeValue.d.ts +10 -0
  214. data/lib/game_dig/node/node_modules/form-data-encoder/@type/util/proxyHeaders.d.ts +2 -0
  215. data/lib/game_dig/node/node_modules/form-data-encoder/lib/FileLike.js +1 -0
  216. data/lib/game_dig/node/node_modules/form-data-encoder/lib/FormDataEncoder.js +134 -0
  217. data/lib/game_dig/node/node_modules/form-data-encoder/lib/FormDataLike.js +1 -0
  218. data/lib/game_dig/node/node_modules/form-data-encoder/lib/index.js +5 -0
  219. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/Headers.js +1 -0
  220. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/createBoundary.js +9 -0
  221. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/escapeName.js +4 -0
  222. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/getStreamIterator.js +21 -0
  223. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFile.js +8 -0
  224. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFormData.js +8 -0
  225. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isFunction.js +1 -0
  226. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/isPlainObject.js +12 -0
  227. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/normalizeValue.js +8 -0
  228. data/lib/game_dig/node/node_modules/form-data-encoder/lib/util/proxyHeaders.js +14 -0
  229. data/lib/game_dig/node/node_modules/form-data-encoder/license +21 -0
  230. data/lib/game_dig/node/node_modules/form-data-encoder/package.json +70 -0
  231. data/lib/game_dig/node/node_modules/form-data-encoder/readme.md +368 -0
  232. data/lib/game_dig/node/node_modules/gamedig/GAMES_LIST.md +563 -0
  233. data/lib/game_dig/node/node_modules/gamedig/LICENSE +21 -0
  234. data/lib/game_dig/node/node_modules/gamedig/README.md +155 -0
  235. data/lib/game_dig/node/node_modules/gamedig/bin/gamedig.js +64 -0
  236. data/lib/game_dig/node/node_modules/gamedig/dist/index.cjs +18075 -0
  237. data/lib/game_dig/node/node_modules/gamedig/lib/DnsResolver.js +80 -0
  238. data/lib/game_dig/node/node_modules/gamedig/lib/GlobalUdpSocket.js +69 -0
  239. data/lib/game_dig/node/node_modules/gamedig/lib/HexUtil.js +20 -0
  240. data/lib/game_dig/node/node_modules/gamedig/lib/Logger.js +45 -0
  241. data/lib/game_dig/node/node_modules/gamedig/lib/Promises.js +18 -0
  242. data/lib/game_dig/node/node_modules/gamedig/lib/ProtocolResolver.js +7 -0
  243. data/lib/game_dig/node/node_modules/gamedig/lib/QueryRunner.js +122 -0
  244. data/lib/game_dig/node/node_modules/gamedig/lib/Results.js +36 -0
  245. data/lib/game_dig/node/node_modules/gamedig/lib/game-resolver.js +27 -0
  246. data/lib/game_dig/node/node_modules/gamedig/lib/gamedig.js +23 -0
  247. data/lib/game_dig/node/node_modules/gamedig/lib/games.js +3458 -0
  248. data/lib/game_dig/node/node_modules/gamedig/lib/index.js +5 -0
  249. data/lib/game_dig/node/node_modules/gamedig/lib/reader.js +172 -0
  250. data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/fxparser +1 -0
  251. data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/seek-bunzip +1 -0
  252. data/lib/game_dig/node/node_modules/gamedig/node_modules/.bin/seek-table +1 -0
  253. data/lib/game_dig/node/node_modules/gamedig/package.json +80 -0
  254. data/lib/game_dig/node/node_modules/gamedig/protocols/altvmp.js +63 -0
  255. data/lib/game_dig/node/node_modules/gamedig/protocols/armagetron.js +65 -0
  256. data/lib/game_dig/node/node_modules/gamedig/protocols/asa.js +18 -0
  257. data/lib/game_dig/node/node_modules/gamedig/protocols/ase.js +45 -0
  258. data/lib/game_dig/node/node_modules/gamedig/protocols/assettocorsa.js +41 -0
  259. data/lib/game_dig/node/node_modules/gamedig/protocols/battlefield.js +167 -0
  260. data/lib/game_dig/node/node_modules/gamedig/protocols/beammp.js +46 -0
  261. data/lib/game_dig/node/node_modules/gamedig/protocols/beammpmaster.js +17 -0
  262. data/lib/game_dig/node/node_modules/gamedig/protocols/brokeprotocol.js +13 -0
  263. data/lib/game_dig/node/node_modules/gamedig/protocols/brokeprotocolmaster.js +418 -0
  264. data/lib/game_dig/node/node_modules/gamedig/protocols/buildandshoot.js +42 -0
  265. data/lib/game_dig/node/node_modules/gamedig/protocols/core.js +369 -0
  266. data/lib/game_dig/node/node_modules/gamedig/protocols/cs2d.js +65 -0
  267. data/lib/game_dig/node/node_modules/gamedig/protocols/dayz.js +196 -0
  268. data/lib/game_dig/node/node_modules/gamedig/protocols/discord.js +29 -0
  269. data/lib/game_dig/node/node_modules/gamedig/protocols/doom3.js +149 -0
  270. data/lib/game_dig/node/node_modules/gamedig/protocols/eco.js +22 -0
  271. data/lib/game_dig/node/node_modules/gamedig/protocols/eldewrito.js +22 -0
  272. data/lib/game_dig/node/node_modules/gamedig/protocols/epic.js +153 -0
  273. data/lib/game_dig/node/node_modules/gamedig/protocols/factorio.js +24 -0
  274. data/lib/game_dig/node/node_modules/gamedig/protocols/farmingsimulator.js +69 -0
  275. data/lib/game_dig/node/node_modules/gamedig/protocols/ffow.js +38 -0
  276. data/lib/game_dig/node/node_modules/gamedig/protocols/fivem.js +35 -0
  277. data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy1.js +182 -0
  278. data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy2.js +142 -0
  279. data/lib/game_dig/node/node_modules/gamedig/protocols/gamespy3.js +198 -0
  280. data/lib/game_dig/node/node_modules/gamedig/protocols/geneshift.js +46 -0
  281. data/lib/game_dig/node/node_modules/gamedig/protocols/goldsrc.js +8 -0
  282. data/lib/game_dig/node/node_modules/gamedig/protocols/gtasao.js +8 -0
  283. data/lib/game_dig/node/node_modules/gamedig/protocols/hawakening.js +13 -0
  284. data/lib/game_dig/node/node_modules/gamedig/protocols/hawakeningmaster.js +718 -0
  285. data/lib/game_dig/node/node_modules/gamedig/protocols/hexen2.js +14 -0
  286. data/lib/game_dig/node/node_modules/gamedig/protocols/index.js +85 -0
  287. data/lib/game_dig/node/node_modules/gamedig/protocols/jc2mp.js +18 -0
  288. data/lib/game_dig/node/node_modules/gamedig/protocols/kspdmp.js +28 -0
  289. data/lib/game_dig/node/node_modules/gamedig/protocols/mafia2mp.js +42 -0
  290. data/lib/game_dig/node/node_modules/gamedig/protocols/mafia2online.js +9 -0
  291. data/lib/game_dig/node/node_modules/gamedig/protocols/minecraft.js +107 -0
  292. data/lib/game_dig/node/node_modules/gamedig/protocols/minecraftbedrock.js +73 -0
  293. data/lib/game_dig/node/node_modules/gamedig/protocols/minecraftvanilla.js +86 -0
  294. data/lib/game_dig/node/node_modules/gamedig/protocols/minetest.js +39 -0
  295. data/lib/game_dig/node/node_modules/gamedig/protocols/mumble.js +39 -0
  296. data/lib/game_dig/node/node_modules/gamedig/protocols/mumbleping.js +25 -0
  297. data/lib/game_dig/node/node_modules/gamedig/protocols/nadeo.js +85 -0
  298. data/lib/game_dig/node/node_modules/gamedig/protocols/openttd.js +164 -0
  299. data/lib/game_dig/node/node_modules/gamedig/protocols/palworld.js +32 -0
  300. data/lib/game_dig/node/node_modules/gamedig/protocols/quake1.js +14 -0
  301. data/lib/game_dig/node/node_modules/gamedig/protocols/quake2.js +90 -0
  302. data/lib/game_dig/node/node_modules/gamedig/protocols/quake3.js +28 -0
  303. data/lib/game_dig/node/node_modules/gamedig/protocols/ragemp.js +49 -0
  304. data/lib/game_dig/node/node_modules/gamedig/protocols/renegadex.js +232 -0
  305. data/lib/game_dig/node/node_modules/gamedig/protocols/renegadexmaster.js +21 -0
  306. data/lib/game_dig/node/node_modules/gamedig/protocols/renown.js +20 -0
  307. data/lib/game_dig/node/node_modules/gamedig/protocols/rfactor.js +69 -0
  308. data/lib/game_dig/node/node_modules/gamedig/protocols/samp.js +105 -0
  309. data/lib/game_dig/node/node_modules/gamedig/protocols/satisfactory.js +106 -0
  310. data/lib/game_dig/node/node_modules/gamedig/protocols/savage2.js +25 -0
  311. data/lib/game_dig/node/node_modules/gamedig/protocols/scpsl.js +54 -0
  312. data/lib/game_dig/node/node_modules/gamedig/protocols/sdtd.js +109 -0
  313. data/lib/game_dig/node/node_modules/gamedig/protocols/soldat.js +45 -0
  314. data/lib/game_dig/node/node_modules/gamedig/protocols/squad.js +20 -0
  315. data/lib/game_dig/node/node_modules/gamedig/protocols/starmade.js +67 -0
  316. data/lib/game_dig/node/node_modules/gamedig/protocols/starsiege.js +10 -0
  317. data/lib/game_dig/node/node_modules/gamedig/protocols/teamspeak2.js +72 -0
  318. data/lib/game_dig/node/node_modules/gamedig/protocols/teamspeak3.js +70 -0
  319. data/lib/game_dig/node/node_modules/gamedig/protocols/terraria.js +27 -0
  320. data/lib/game_dig/node/node_modules/gamedig/protocols/theisleevrima.js +19 -0
  321. data/lib/game_dig/node/node_modules/gamedig/protocols/toxikk.js +122 -0
  322. data/lib/game_dig/node/node_modules/gamedig/protocols/tribes1.js +153 -0
  323. data/lib/game_dig/node/node_modules/gamedig/protocols/tribes1master.js +80 -0
  324. data/lib/game_dig/node/node_modules/gamedig/protocols/unreal2.js +151 -0
  325. data/lib/game_dig/node/node_modules/gamedig/protocols/ut3.js +45 -0
  326. data/lib/game_dig/node/node_modules/gamedig/protocols/valve.js +472 -0
  327. data/lib/game_dig/node/node_modules/gamedig/protocols/vcmp.js +10 -0
  328. data/lib/game_dig/node/node_modules/gamedig/protocols/ventrilo.js +238 -0
  329. data/lib/game_dig/node/node_modules/gamedig/protocols/vintagestory.js +24 -0
  330. data/lib/game_dig/node/node_modules/gamedig/protocols/vintagestorymaster.js +17 -0
  331. data/lib/game_dig/node/node_modules/gamedig/protocols/warsow.js +13 -0
  332. data/lib/game_dig/node/node_modules/gamedig/protocols/xonotic.js +16 -0
  333. data/lib/game_dig/node/node_modules/gbxremote/.editorconfig +15 -0
  334. data/lib/game_dig/node/node_modules/gbxremote/.npmignore +5 -0
  335. data/lib/game_dig/node/node_modules/gbxremote/LICENSE +23 -0
  336. data/lib/game_dig/node/node_modules/gbxremote/README.md +196 -0
  337. data/lib/game_dig/node/node_modules/gbxremote/lib/client.js +214 -0
  338. data/lib/game_dig/node/node_modules/gbxremote/lib/gbxremote.js +18 -0
  339. data/lib/game_dig/node/node_modules/gbxremote/package.json +55 -0
  340. data/lib/game_dig/node/node_modules/get-stream/buffer-stream.js +52 -0
  341. data/lib/game_dig/node/node_modules/get-stream/index.d.ts +105 -0
  342. data/lib/game_dig/node/node_modules/get-stream/index.js +61 -0
  343. data/lib/game_dig/node/node_modules/get-stream/license +9 -0
  344. data/lib/game_dig/node/node_modules/get-stream/package.json +47 -0
  345. data/lib/game_dig/node/node_modules/get-stream/readme.md +124 -0
  346. data/lib/game_dig/node/node_modules/got/dist/source/as-promise/index.d.ts +3 -0
  347. data/lib/game_dig/node/node_modules/got/dist/source/as-promise/index.js +158 -0
  348. data/lib/game_dig/node/node_modules/got/dist/source/as-promise/types.d.ts +38 -0
  349. data/lib/game_dig/node/node_modules/got/dist/source/as-promise/types.js +17 -0
  350. data/lib/game_dig/node/node_modules/got/dist/source/core/calculate-retry-delay.d.ts +4 -0
  351. data/lib/game_dig/node/node_modules/got/dist/source/core/calculate-retry-delay.js +29 -0
  352. data/lib/game_dig/node/node_modules/got/dist/source/core/errors.d.ts +90 -0
  353. data/lib/game_dig/node/node_modules/got/dist/source/core/errors.js +178 -0
  354. data/lib/game_dig/node/node_modules/got/dist/source/core/index.d.ts +190 -0
  355. data/lib/game_dig/node/node_modules/got/dist/source/core/index.js +1126 -0
  356. data/lib/game_dig/node/node_modules/got/dist/source/core/options.d.ts +1253 -0
  357. data/lib/game_dig/node/node_modules/got/dist/source/core/options.js +1653 -0
  358. data/lib/game_dig/node/node_modules/got/dist/source/core/parse-link-header.d.ts +4 -0
  359. data/lib/game_dig/node/node_modules/got/dist/source/core/parse-link-header.js +33 -0
  360. data/lib/game_dig/node/node_modules/got/dist/source/core/response.d.ts +109 -0
  361. data/lib/game_dig/node/node_modules/got/dist/source/core/response.js +39 -0
  362. data/lib/game_dig/node/node_modules/got/dist/source/core/timed-out.d.ts +30 -0
  363. data/lib/game_dig/node/node_modules/got/dist/source/core/timed-out.js +138 -0
  364. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/get-body-size.d.ts +3 -0
  365. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/get-body-size.js +22 -0
  366. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-client-request.d.ts +5 -0
  367. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-client-request.js +4 -0
  368. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-form-data.d.ts +8 -0
  369. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-form-data.js +4 -0
  370. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-unix-socket-url.d.ts +2 -0
  371. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/is-unix-socket-url.js +4 -0
  372. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/options-to-url.d.ts +13 -0
  373. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/options-to-url.js +48 -0
  374. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/proxy-events.d.ts +3 -0
  375. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/proxy-events.js +15 -0
  376. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/unhandle.d.ts +11 -0
  377. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/unhandle.js +20 -0
  378. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/url-to-options.d.ts +15 -0
  379. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/url-to-options.js +22 -0
  380. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/weakable-map.d.ts +8 -0
  381. data/lib/game_dig/node/node_modules/got/dist/source/core/utils/weakable-map.js +38 -0
  382. data/lib/game_dig/node/node_modules/got/dist/source/create.d.ts +3 -0
  383. data/lib/game_dig/node/node_modules/got/dist/source/create.js +187 -0
  384. data/lib/game_dig/node/node_modules/got/dist/source/index.d.ts +15 -0
  385. data/lib/game_dig/node/node_modules/got/dist/source/index.js +20 -0
  386. data/lib/game_dig/node/node_modules/got/dist/source/types.d.ts +262 -0
  387. data/lib/game_dig/node/node_modules/got/dist/source/types.js +1 -0
  388. data/lib/game_dig/node/node_modules/got/license +9 -0
  389. data/lib/game_dig/node/node_modules/got/package.json +155 -0
  390. data/lib/game_dig/node/node_modules/got/readme.md +527 -0
  391. data/lib/game_dig/node/node_modules/http-cache-semantics/LICENSE +9 -0
  392. data/lib/game_dig/node/node_modules/http-cache-semantics/README.md +268 -0
  393. data/lib/game_dig/node/node_modules/http-cache-semantics/index.js +928 -0
  394. data/lib/game_dig/node/node_modules/http-cache-semantics/package.json +22 -0
  395. data/lib/game_dig/node/node_modules/http2-wrapper/LICENSE +21 -0
  396. data/lib/game_dig/node/node_modules/http2-wrapper/README.md +459 -0
  397. data/lib/game_dig/node/node_modules/http2-wrapper/index.d.ts +141 -0
  398. data/lib/game_dig/node/node_modules/http2-wrapper/package.json +81 -0
  399. data/lib/game_dig/node/node_modules/http2-wrapper/source/agent.js +796 -0
  400. data/lib/game_dig/node/node_modules/http2-wrapper/source/auto.js +225 -0
  401. data/lib/game_dig/node/node_modules/http2-wrapper/source/client-request.js +563 -0
  402. data/lib/game_dig/node/node_modules/http2-wrapper/source/incoming-message.js +73 -0
  403. data/lib/game_dig/node/node_modules/http2-wrapper/source/index.js +50 -0
  404. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/get-auth-headers.js +17 -0
  405. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h1-over-h2.js +90 -0
  406. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-h1.js +48 -0
  407. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-h2.js +32 -0
  408. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/h2-over-hx.js +40 -0
  409. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/initialize.js +21 -0
  410. data/lib/game_dig/node/node_modules/http2-wrapper/source/proxies/unexpected-status-code-error.js +11 -0
  411. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/calculate-server-name.js +29 -0
  412. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/check-type.js +20 -0
  413. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/delay-async-destroy.js +33 -0
  414. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/errors.js +51 -0
  415. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js +13 -0
  416. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/js-stream-socket.js +8 -0
  417. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/proxy-events.js +7 -0
  418. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/proxy-socket-handler.js +102 -0
  419. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/validate-header-name.js +11 -0
  420. data/lib/game_dig/node/node_modules/http2-wrapper/source/utils/validate-header-value.js +17 -0
  421. data/lib/game_dig/node/node_modules/iconv-lite/Changelog.md +236 -0
  422. data/lib/game_dig/node/node_modules/iconv-lite/LICENSE +21 -0
  423. data/lib/game_dig/node/node_modules/iconv-lite/README.md +138 -0
  424. data/lib/game_dig/node/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  425. data/lib/game_dig/node/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  426. data/lib/game_dig/node/node_modules/iconv-lite/encodings/index.js +23 -0
  427. data/lib/game_dig/node/node_modules/iconv-lite/encodings/internal.js +218 -0
  428. data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  429. data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  430. data/lib/game_dig/node/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  431. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  432. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  433. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  434. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  435. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  436. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  437. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  438. data/lib/game_dig/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  439. data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf16.js +187 -0
  440. data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf32.js +307 -0
  441. data/lib/game_dig/node/node_modules/iconv-lite/encodings/utf7.js +283 -0
  442. data/lib/game_dig/node/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  443. data/lib/game_dig/node/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  444. data/lib/game_dig/node/node_modules/iconv-lite/lib/index.d.ts +41 -0
  445. data/lib/game_dig/node/node_modules/iconv-lite/lib/index.js +183 -0
  446. data/lib/game_dig/node/node_modules/iconv-lite/lib/streams.js +105 -0
  447. data/lib/game_dig/node/node_modules/iconv-lite/package.json +59 -0
  448. data/lib/game_dig/node/node_modules/inherits/LICENSE +16 -0
  449. data/lib/game_dig/node/node_modules/inherits/README.md +42 -0
  450. data/lib/game_dig/node/node_modules/inherits/inherits.js +9 -0
  451. data/lib/game_dig/node/node_modules/inherits/inherits_browser.js +27 -0
  452. data/lib/game_dig/node/node_modules/inherits/package.json +29 -0
  453. data/lib/game_dig/node/node_modules/isarray/README.md +54 -0
  454. data/lib/game_dig/node/node_modules/isarray/build/build.js +209 -0
  455. data/lib/game_dig/node/node_modules/isarray/component.json +19 -0
  456. data/lib/game_dig/node/node_modules/isarray/index.js +3 -0
  457. data/lib/game_dig/node/node_modules/isarray/package.json +25 -0
  458. data/lib/game_dig/node/node_modules/json-buffer/.travis.yml +3 -0
  459. data/lib/game_dig/node/node_modules/json-buffer/LICENSE +22 -0
  460. data/lib/game_dig/node/node_modules/json-buffer/README.md +24 -0
  461. data/lib/game_dig/node/node_modules/json-buffer/index.js +58 -0
  462. data/lib/game_dig/node/node_modules/json-buffer/package.json +34 -0
  463. data/lib/game_dig/node/node_modules/json-buffer/test/index.js +63 -0
  464. data/lib/game_dig/node/node_modules/keyv/README.md +429 -0
  465. data/lib/game_dig/node/node_modules/keyv/package.json +57 -0
  466. data/lib/game_dig/node/node_modules/keyv/src/index.d.ts +112 -0
  467. data/lib/game_dig/node/node_modules/keyv/src/index.js +259 -0
  468. data/lib/game_dig/node/node_modules/long/LICENSE +202 -0
  469. data/lib/game_dig/node/node_modules/long/README.md +286 -0
  470. data/lib/game_dig/node/node_modules/long/index.d.ts +2 -0
  471. data/lib/game_dig/node/node_modules/long/index.js +1581 -0
  472. data/lib/game_dig/node/node_modules/long/package.json +58 -0
  473. data/lib/game_dig/node/node_modules/long/types.d.ts +474 -0
  474. data/lib/game_dig/node/node_modules/long/umd/index.d.ts +3 -0
  475. data/lib/game_dig/node/node_modules/long/umd/index.js +1622 -0
  476. data/lib/game_dig/node/node_modules/long/umd/package.json +3 -0
  477. data/lib/game_dig/node/node_modules/long/umd/types.d.ts +474 -0
  478. data/lib/game_dig/node/node_modules/lowercase-keys/index.d.ts +14 -0
  479. data/lib/game_dig/node/node_modules/lowercase-keys/index.js +3 -0
  480. data/lib/game_dig/node/node_modules/lowercase-keys/license +9 -0
  481. data/lib/game_dig/node/node_modules/lowercase-keys/package.json +41 -0
  482. data/lib/game_dig/node/node_modules/lowercase-keys/readme.md +32 -0
  483. data/lib/game_dig/node/node_modules/mimic-response/index.d.ts +17 -0
  484. data/lib/game_dig/node/node_modules/mimic-response/index.js +77 -0
  485. data/lib/game_dig/node/node_modules/mimic-response/license +9 -0
  486. data/lib/game_dig/node/node_modules/mimic-response/package.json +42 -0
  487. data/lib/game_dig/node/node_modules/mimic-response/readme.md +78 -0
  488. data/lib/game_dig/node/node_modules/minimist/.eslintrc +29 -0
  489. data/lib/game_dig/node/node_modules/minimist/.github/FUNDING.yml +12 -0
  490. data/lib/game_dig/node/node_modules/minimist/.nycrc +14 -0
  491. data/lib/game_dig/node/node_modules/minimist/CHANGELOG.md +298 -0
  492. data/lib/game_dig/node/node_modules/minimist/LICENSE +18 -0
  493. data/lib/game_dig/node/node_modules/minimist/README.md +121 -0
  494. data/lib/game_dig/node/node_modules/minimist/example/parse.js +4 -0
  495. data/lib/game_dig/node/node_modules/minimist/index.js +263 -0
  496. data/lib/game_dig/node/node_modules/minimist/package.json +75 -0
  497. data/lib/game_dig/node/node_modules/minimist/test/all_bool.js +34 -0
  498. data/lib/game_dig/node/node_modules/minimist/test/bool.js +177 -0
  499. data/lib/game_dig/node/node_modules/minimist/test/dash.js +43 -0
  500. data/lib/game_dig/node/node_modules/minimist/test/default_bool.js +37 -0
  501. data/lib/game_dig/node/node_modules/minimist/test/dotted.js +24 -0
  502. data/lib/game_dig/node/node_modules/minimist/test/kv_short.js +32 -0
  503. data/lib/game_dig/node/node_modules/minimist/test/long.js +33 -0
  504. data/lib/game_dig/node/node_modules/minimist/test/num.js +38 -0
  505. data/lib/game_dig/node/node_modules/minimist/test/parse.js +209 -0
  506. data/lib/game_dig/node/node_modules/minimist/test/parse_modified.js +11 -0
  507. data/lib/game_dig/node/node_modules/minimist/test/proto.js +64 -0
  508. data/lib/game_dig/node/node_modules/minimist/test/short.js +69 -0
  509. data/lib/game_dig/node/node_modules/minimist/test/stop_early.js +17 -0
  510. data/lib/game_dig/node/node_modules/minimist/test/unknown.js +104 -0
  511. data/lib/game_dig/node/node_modules/minimist/test/whitespace.js +10 -0
  512. data/lib/game_dig/node/node_modules/net/LICENSE +19 -0
  513. data/lib/game_dig/node/node_modules/net/README.md +0 -0
  514. data/lib/game_dig/node/node_modules/net/index.js +28 -0
  515. data/lib/game_dig/node/node_modules/net/package.json +17 -0
  516. data/lib/game_dig/node/node_modules/net/test.js +6 -0
  517. data/lib/game_dig/node/node_modules/normalize-url/index.d.ts +342 -0
  518. data/lib/game_dig/node/node_modules/normalize-url/index.js +308 -0
  519. data/lib/game_dig/node/node_modules/normalize-url/license +9 -0
  520. data/lib/game_dig/node/node_modules/normalize-url/package.json +57 -0
  521. data/lib/game_dig/node/node_modules/normalize-url/readme.md +347 -0
  522. data/lib/game_dig/node/node_modules/p-cancelable/index.d.ts +168 -0
  523. data/lib/game_dig/node/node_modules/p-cancelable/index.js +110 -0
  524. data/lib/game_dig/node/node_modules/p-cancelable/license +9 -0
  525. data/lib/game_dig/node/node_modules/p-cancelable/package.json +50 -0
  526. data/lib/game_dig/node/node_modules/p-cancelable/readme.md +152 -0
  527. data/lib/game_dig/node/node_modules/process-nextick-args/index.js +45 -0
  528. data/lib/game_dig/node/node_modules/process-nextick-args/license.md +19 -0
  529. data/lib/game_dig/node/node_modules/process-nextick-args/package.json +25 -0
  530. data/lib/game_dig/node/node_modules/process-nextick-args/readme.md +18 -0
  531. data/lib/game_dig/node/node_modules/quick-lru/index.d.ts +97 -0
  532. data/lib/game_dig/node/node_modules/quick-lru/index.js +123 -0
  533. data/lib/game_dig/node/node_modules/quick-lru/license +9 -0
  534. data/lib/game_dig/node/node_modules/quick-lru/package.json +43 -0
  535. data/lib/game_dig/node/node_modules/quick-lru/readme.md +111 -0
  536. data/lib/game_dig/node/node_modules/readable-stream/.travis.yml +34 -0
  537. data/lib/game_dig/node/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  538. data/lib/game_dig/node/node_modules/readable-stream/GOVERNANCE.md +136 -0
  539. data/lib/game_dig/node/node_modules/readable-stream/LICENSE +47 -0
  540. data/lib/game_dig/node/node_modules/readable-stream/README.md +58 -0
  541. data/lib/game_dig/node/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  542. data/lib/game_dig/node/node_modules/readable-stream/duplex-browser.js +1 -0
  543. data/lib/game_dig/node/node_modules/readable-stream/duplex.js +1 -0
  544. data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  545. data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  546. data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  547. data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  548. data/lib/game_dig/node/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  549. data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  550. data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  551. data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  552. data/lib/game_dig/node/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  553. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/.npmignore +1 -0
  554. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/.travis.yml +4 -0
  555. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/Makefile +6 -0
  556. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/README.md +60 -0
  557. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
  558. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/index.js +5 -0
  559. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/package.json +45 -0
  560. data/lib/game_dig/node/node_modules/readable-stream/node_modules/isarray/test.js +20 -0
  561. data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/.travis.yml +50 -0
  562. data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/LICENSE +48 -0
  563. data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/README.md +47 -0
  564. data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js +296 -0
  565. data/lib/game_dig/node/node_modules/readable-stream/node_modules/string_decoder/package.json +31 -0
  566. data/lib/game_dig/node/node_modules/readable-stream/package.json +52 -0
  567. data/lib/game_dig/node/node_modules/readable-stream/passthrough.js +1 -0
  568. data/lib/game_dig/node/node_modules/readable-stream/readable-browser.js +7 -0
  569. data/lib/game_dig/node/node_modules/readable-stream/readable.js +19 -0
  570. data/lib/game_dig/node/node_modules/readable-stream/transform.js +1 -0
  571. data/lib/game_dig/node/node_modules/readable-stream/writable-browser.js +1 -0
  572. data/lib/game_dig/node/node_modules/readable-stream/writable.js +8 -0
  573. data/lib/game_dig/node/node_modules/resolve-alpn/LICENSE +22 -0
  574. data/lib/game_dig/node/node_modules/resolve-alpn/README.md +60 -0
  575. data/lib/game_dig/node/node_modules/resolve-alpn/index.js +43 -0
  576. data/lib/game_dig/node/node_modules/resolve-alpn/package.json +34 -0
  577. data/lib/game_dig/node/node_modules/responselike/LICENSE +19 -0
  578. data/lib/game_dig/node/node_modules/responselike/README.md +77 -0
  579. data/lib/game_dig/node/node_modules/responselike/index.d.ts +86 -0
  580. data/lib/game_dig/node/node_modules/responselike/index.js +39 -0
  581. data/lib/game_dig/node/node_modules/responselike/license +10 -0
  582. data/lib/game_dig/node/node_modules/responselike/package.json +39 -0
  583. data/lib/game_dig/node/node_modules/responselike/readme.md +75 -0
  584. data/lib/game_dig/node/node_modules/safe-buffer/LICENSE +21 -0
  585. data/lib/game_dig/node/node_modules/safe-buffer/README.md +584 -0
  586. data/lib/game_dig/node/node_modules/safe-buffer/index.d.ts +187 -0
  587. data/lib/game_dig/node/node_modules/safe-buffer/index.js +62 -0
  588. data/lib/game_dig/node/node_modules/safe-buffer/package.json +37 -0
  589. data/lib/game_dig/node/node_modules/safer-buffer/LICENSE +21 -0
  590. data/lib/game_dig/node/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  591. data/lib/game_dig/node/node_modules/safer-buffer/Readme.md +156 -0
  592. data/lib/game_dig/node/node_modules/safer-buffer/dangerous.js +58 -0
  593. data/lib/game_dig/node/node_modules/safer-buffer/package.json +34 -0
  594. data/lib/game_dig/node/node_modules/safer-buffer/safer.js +77 -0
  595. data/lib/game_dig/node/node_modules/safer-buffer/tests.js +406 -0
  596. data/lib/game_dig/node/node_modules/sax/LICENSE +41 -0
  597. data/lib/game_dig/node/node_modules/sax/README.md +225 -0
  598. data/lib/game_dig/node/node_modules/sax/lib/sax.js +1565 -0
  599. data/lib/game_dig/node/node_modules/sax/package.json +25 -0
  600. data/lib/game_dig/node/node_modules/seek-bzip/LICENSE +26 -0
  601. data/lib/game_dig/node/node_modules/seek-bzip/README.md +185 -0
  602. data/lib/game_dig/node/node_modules/seek-bzip/bin/seek-bunzip +129 -0
  603. data/lib/game_dig/node/node_modules/seek-bzip/bin/seek-bzip-table +71 -0
  604. data/lib/game_dig/node/node_modules/seek-bzip/lib/bitreader.js +94 -0
  605. data/lib/game_dig/node/node_modules/seek-bzip/lib/crc32.js +104 -0
  606. data/lib/game_dig/node/node_modules/seek-bzip/lib/index.js +605 -0
  607. data/lib/game_dig/node/node_modules/seek-bzip/lib/stream.js +42 -0
  608. data/lib/game_dig/node/node_modules/seek-bzip/package.json +34 -0
  609. data/lib/game_dig/node/node_modules/stream/.npmignore +3 -0
  610. data/lib/game_dig/node/node_modules/stream/Makefile +11 -0
  611. data/lib/game_dig/node/node_modules/stream/README.md +59 -0
  612. data/lib/game_dig/node/node_modules/stream/component.json +19 -0
  613. data/lib/game_dig/node/node_modules/stream/index.js +115 -0
  614. data/lib/game_dig/node/node_modules/stream/package.json +25 -0
  615. data/lib/game_dig/node/node_modules/stream/test.html +173 -0
  616. data/lib/game_dig/node/node_modules/string-to-stream/LICENSE +20 -0
  617. data/lib/game_dig/node/node_modules/string-to-stream/README.md +34 -0
  618. data/lib/game_dig/node/node_modules/string-to-stream/index.js +23 -0
  619. data/lib/game_dig/node/node_modules/string-to-stream/package.json +53 -0
  620. data/lib/game_dig/node/node_modules/string_decoder/.npmignore +2 -0
  621. data/lib/game_dig/node/node_modules/string_decoder/LICENSE +20 -0
  622. data/lib/game_dig/node/node_modules/string_decoder/README.md +7 -0
  623. data/lib/game_dig/node/node_modules/string_decoder/index.js +221 -0
  624. data/lib/game_dig/node/node_modules/string_decoder/package.json +25 -0
  625. data/lib/game_dig/node/node_modules/strnum/.github/SECURITY.md +5 -0
  626. data/lib/game_dig/node/node_modules/strnum/.vscode/launch.json +25 -0
  627. data/lib/game_dig/node/node_modules/strnum/CHANGELOG.md +33 -0
  628. data/lib/game_dig/node/node_modules/strnum/LICENSE +21 -0
  629. data/lib/game_dig/node/node_modules/strnum/README.md +97 -0
  630. data/lib/game_dig/node/node_modules/strnum/algo.stflow +84 -0
  631. data/lib/game_dig/node/node_modules/strnum/package.json +31 -0
  632. data/lib/game_dig/node/node_modules/strnum/strnum.js +129 -0
  633. data/lib/game_dig/node/node_modules/strnum/strnum.test.js +173 -0
  634. data/lib/game_dig/node/node_modules/strnum/test.js +9 -0
  635. data/lib/game_dig/node/node_modules/telnet-client/LICENSE +8 -0
  636. data/lib/game_dig/node/node_modules/telnet-client/README.md +363 -0
  637. data/lib/game_dig/node/node_modules/telnet-client/lib/index.d.ts +92 -0
  638. data/lib/game_dig/node/node_modules/telnet-client/lib/index.js +506 -0
  639. data/lib/game_dig/node/node_modules/telnet-client/lib/index.js.map +1 -0
  640. data/lib/game_dig/node/node_modules/telnet-client/lib/utils.d.ts +15 -0
  641. data/lib/game_dig/node/node_modules/telnet-client/lib/utils.js +34 -0
  642. data/lib/game_dig/node/node_modules/telnet-client/lib/utils.js.map +1 -0
  643. data/lib/game_dig/node/node_modules/telnet-client/package.json +103 -0
  644. data/lib/game_dig/node/node_modules/util-deprecate/History.md +16 -0
  645. data/lib/game_dig/node/node_modules/util-deprecate/LICENSE +24 -0
  646. data/lib/game_dig/node/node_modules/util-deprecate/README.md +53 -0
  647. data/lib/game_dig/node/node_modules/util-deprecate/browser.js +67 -0
  648. data/lib/game_dig/node/node_modules/util-deprecate/node.js +6 -0
  649. data/lib/game_dig/node/node_modules/util-deprecate/package.json +27 -0
  650. data/lib/game_dig/node/node_modules/varint/README.md +53 -0
  651. data/lib/game_dig/node/node_modules/varint/bench.js +57 -0
  652. data/lib/game_dig/node/node_modules/varint/decode.js +29 -0
  653. data/lib/game_dig/node/node_modules/varint/encode.js +30 -0
  654. data/lib/game_dig/node/node_modules/varint/index.js +5 -0
  655. data/lib/game_dig/node/node_modules/varint/length.js +25 -0
  656. data/lib/game_dig/node/node_modules/varint/package.json +24 -0
  657. data/lib/game_dig/node/node_modules/varint/test.js +156 -0
  658. data/lib/game_dig/node/node_modules/xmlbuilder/.npmignore +5 -0
  659. data/lib/game_dig/node/node_modules/xmlbuilder/CHANGELOG.md +395 -0
  660. data/lib/game_dig/node/node_modules/xmlbuilder/LICENSE +21 -0
  661. data/lib/game_dig/node/node_modules/xmlbuilder/README.md +85 -0
  662. data/lib/game_dig/node/node_modules/xmlbuilder/lib/Utility.js +139 -0
  663. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLAttribute.js +31 -0
  664. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLCData.js +32 -0
  665. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLComment.js +32 -0
  666. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDAttList.js +50 -0
  667. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDElement.js +35 -0
  668. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDEntity.js +56 -0
  669. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDTDNotation.js +37 -0
  670. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDeclaration.js +40 -0
  671. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocType.js +107 -0
  672. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocument.js +48 -0
  673. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLDocumentCB.js +402 -0
  674. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLElement.js +111 -0
  675. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLNode.js +432 -0
  676. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +35 -0
  677. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLRaw.js +32 -0
  678. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStreamWriter.js +278 -0
  679. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStringWriter.js +302 -0
  680. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLStringifier.js +192 -0
  681. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLText.js +32 -0
  682. data/lib/game_dig/node/node_modules/xmlbuilder/lib/XMLWriterBase.js +68 -0
  683. data/lib/game_dig/node/node_modules/xmlbuilder/lib/index.js +53 -0
  684. data/lib/game_dig/node/node_modules/xmlbuilder/package.json +37 -0
  685. data/lib/game_dig/node/node_modules/xmlrpc/.idea/date_formatter.js +77 -0
  686. data/lib/game_dig/node/node_modules/xmlrpc/.npmignore +5 -0
  687. data/lib/game_dig/node/node_modules/xmlrpc/.travis.yml +6 -0
  688. data/lib/game_dig/node/node_modules/xmlrpc/HISTORY.md +129 -0
  689. data/lib/game_dig/node/node_modules/xmlrpc/LICENSE +23 -0
  690. data/lib/game_dig/node/node_modules/xmlrpc/README.md +235 -0
  691. data/lib/game_dig/node/node_modules/xmlrpc/lib/client.js +177 -0
  692. data/lib/game_dig/node/node_modules/xmlrpc/lib/cookies.js +111 -0
  693. data/lib/game_dig/node/node_modules/xmlrpc/lib/customtype.js +10 -0
  694. data/lib/game_dig/node/node_modules/xmlrpc/lib/date_formatter.js +188 -0
  695. data/lib/game_dig/node/node_modules/xmlrpc/lib/deserializer.js +324 -0
  696. data/lib/game_dig/node/node_modules/xmlrpc/lib/serializer.js +202 -0
  697. data/lib/game_dig/node/node_modules/xmlrpc/lib/server.js +78 -0
  698. data/lib/game_dig/node/node_modules/xmlrpc/lib/xmlrpc.js +65 -0
  699. data/lib/game_dig/node/node_modules/xmlrpc/package.json +35 -0
  700. data/lib/game_dig/node/node_modules/xmlrpc/tmp/client.js +28 -0
  701. data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.crt +13 -0
  702. data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.csr +11 -0
  703. data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.js +10 -0
  704. data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.key +15 -0
  705. data/lib/game_dig/node/node_modules/xmlrpc/tmp/server.key.org +18 -0
  706. data/lib/game_dig/node/package.json +8 -0
  707. data/lib/game_dig/node/yarn.lock +359 -0
  708. data/lib/game_dig/nodo.rb +54 -0
  709. data/lib/game_dig/query_result.rb +71 -0
  710. data/lib/game_dig/version.rb +1 -1
  711. data/lib/game_dig.rb +78 -45
  712. metadata +742 -11
  713. data/lib/custom_errors/game_dig_cli_not_found.rb +0 -2
  714. data/lib/custom_errors/game_dig_error.rb +0 -2
@@ -0,0 +1,3458 @@
1
+ export const games = {
2
+ abioticfactor: {
3
+ name: 'Abiotic Factor',
4
+ release_year: 2024,
5
+ options: {
6
+ port: 27015,
7
+ protocol: 'valve'
8
+ }
9
+ },
10
+ actionsource: {
11
+ name: 'Action: Source',
12
+ release_year: 2019,
13
+ options: {
14
+ port: 27015,
15
+ protocol: 'valve'
16
+ },
17
+ extra: {
18
+ old_id: 'as'
19
+ }
20
+ },
21
+ ahl: {
22
+ name: 'Action Half-Life',
23
+ release_year: 2009,
24
+ options: {
25
+ port: 27015,
26
+ protocol: 'valve'
27
+ }
28
+ },
29
+ aoc: {
30
+ name: 'Age of Chivalry',
31
+ release_year: 2007,
32
+ options: {
33
+ port: 27015,
34
+ protocol: 'valve'
35
+ },
36
+ extra: {
37
+ old_id: 'ageofchivalry'
38
+ }
39
+ },
40
+ aoe2: {
41
+ name: 'Age of Empires 2',
42
+ release_year: 2009,
43
+ options: {
44
+ port_query: 27224,
45
+ protocol: 'ase'
46
+ }
47
+ },
48
+ alienarena: {
49
+ name: 'Alien Arena',
50
+ release_year: 2004,
51
+ options: {
52
+ port_query: 27910,
53
+ protocol: 'quake2'
54
+ }
55
+ },
56
+ alienswarm: {
57
+ name: 'Alien Swarm',
58
+ release_year: 2004,
59
+ options: {
60
+ port: 27015,
61
+ protocol: 'valve'
62
+ }
63
+ },
64
+ ase: {
65
+ name: 'Ark: Survival Evolved',
66
+ release_year: 2017,
67
+ options: {
68
+ port: 7777,
69
+ port_query: 27015,
70
+ protocol: 'valve'
71
+ },
72
+ extra: {
73
+ old_id: 'arkse'
74
+ }
75
+ },
76
+ asa: {
77
+ name: 'Ark: Survival Ascended',
78
+ release_year: 2023,
79
+ options: {
80
+ port: 7777,
81
+ protocol: 'asa'
82
+ }
83
+ },
84
+ assettocorsa: {
85
+ name: 'Assetto Corsa',
86
+ release_year: 2014,
87
+ options: {
88
+ port: 9610,
89
+ protocol: 'assettocorsa'
90
+ }
91
+ },
92
+ atlas: {
93
+ name: 'Atlas',
94
+ release_year: 2018,
95
+ options: {
96
+ port: 5761,
97
+ port_query_offset: 51800,
98
+ protocol: 'valve'
99
+ }
100
+ },
101
+ avorion: {
102
+ name: 'Avorion',
103
+ release_year: 2020,
104
+ options: {
105
+ port: 27000,
106
+ port_query_offset: 20,
107
+ protocol: 'valve'
108
+ }
109
+ },
110
+ avp2: {
111
+ name: 'Aliens versus Predator 2',
112
+ release_year: 2001,
113
+ options: {
114
+ port: 27888,
115
+ protocol: 'gamespy1'
116
+ }
117
+ },
118
+ avp2010: {
119
+ name: 'Aliens vs. Predator 2010',
120
+ release_year: 2010,
121
+ options: {
122
+ port: 27015,
123
+ protocol: 'valve'
124
+ }
125
+ },
126
+ americasarmy: {
127
+ name: "America's Army",
128
+ release_year: 2002,
129
+ options: {
130
+ port: 1716,
131
+ port_query_offset: 1,
132
+ protocol: 'gamespy2'
133
+ }
134
+ },
135
+ americasarmy2: {
136
+ name: "America's Army 2",
137
+ release_year: 2003,
138
+ options: {
139
+ port: 1716,
140
+ port_query_offset: 1,
141
+ protocol: 'gamespy2'
142
+ }
143
+ },
144
+ americasarmy3: {
145
+ name: "America's Army 3",
146
+ release_year: 2009,
147
+ options: {
148
+ port: 8777,
149
+ port_query: 27020,
150
+ protocol: 'valve'
151
+ }
152
+ },
153
+ aapg: {
154
+ name: "America's Army: Proving Grounds",
155
+ release_year: 2015,
156
+ options: {
157
+ port: 8777,
158
+ port_query: 27020,
159
+ protocol: 'valve'
160
+ },
161
+ extra: {
162
+ old_id: 'americasarmypg'
163
+ }
164
+ },
165
+ asr08: {
166
+ name: "Arca Sim Racing '08",
167
+ release_year: 2008,
168
+ options: {
169
+ port: 34397,
170
+ port_query_offset: -100,
171
+ protocol: 'rfactor'
172
+ },
173
+ extra: {
174
+ old_id: 'arcasimracing'
175
+ }
176
+ },
177
+ aaa: {
178
+ name: 'ARMA: Armed Assault',
179
+ release_year: 2006,
180
+ options: {
181
+ port: 2302,
182
+ protocol: 'gamespy2'
183
+ },
184
+ extra: {
185
+ old_id: 'arma'
186
+ }
187
+ },
188
+ arma2: {
189
+ name: 'ARMA 2',
190
+ release_year: 2009,
191
+ options: {
192
+ port: 2302,
193
+ port_query_offset: 1,
194
+ protocol: 'valve'
195
+ }
196
+ },
197
+ a2oa: {
198
+ name: 'ARMA 2: Operation Arrowhead',
199
+ release_year: 2010,
200
+ options: {
201
+ port: 2302,
202
+ port_query_offset: 1,
203
+ protocol: 'valve'
204
+ },
205
+ extra: {
206
+ old_id: 'arma2oa'
207
+ }
208
+ },
209
+ acwa: {
210
+ name: 'ARMA: Cold War Assault',
211
+ release_year: 2011,
212
+ options: {
213
+ port: 2302,
214
+ port_query_offset: 1,
215
+ protocol: 'gamespy1'
216
+ },
217
+ extra: {
218
+ old_id: 'armacwa'
219
+ }
220
+ },
221
+ armaresistance: {
222
+ name: 'ARMA: Resistance',
223
+ release_year: 2011,
224
+ options: {
225
+ port: 2302,
226
+ port_query_offset: 1,
227
+ protocol: 'gamespy1'
228
+ },
229
+ extra: {
230
+ old_id: 'armar'
231
+ }
232
+ },
233
+ arma3: {
234
+ name: 'ARMA 3',
235
+ release_year: 2013,
236
+ options: {
237
+ port: 2302,
238
+ port_query_offset: 1,
239
+ protocol: 'valve'
240
+ }
241
+ },
242
+ armareforger: {
243
+ name: 'ARMA: Reforger',
244
+ release_year: 2022,
245
+ options: {
246
+ port: 2001,
247
+ port_query: 17777,
248
+ protocol: 'valve'
249
+ },
250
+ extra: {
251
+ old_id: 'armare',
252
+ doc_notes: 'armareforger'
253
+ }
254
+ },
255
+ armagetronadvanced: {
256
+ name: 'Armagetron Advanced',
257
+ release_year: 2001,
258
+ options: {
259
+ port: 4534,
260
+ protocol: 'armagetron'
261
+ },
262
+ extra: {
263
+ old_id: 'armagetron'
264
+ }
265
+ },
266
+ baldursgate: {
267
+ name: "Baldur's Gate",
268
+ release_year: 1998,
269
+ options: {
270
+ port: 6073,
271
+ port_query: 1470,
272
+ protocol: 'gamespy1'
273
+ }
274
+ },
275
+ ballisticoverkill: {
276
+ name: 'Ballistic Overkill',
277
+ release_year: 2017,
278
+ options: {
279
+ port: 27015,
280
+ port_query_offset: 1,
281
+ protocol: 'valve'
282
+ }
283
+ },
284
+ barotrauma: {
285
+ name: 'Barotrauma',
286
+ release_year: 2019,
287
+ options: {
288
+ port: 27015,
289
+ port_query_offset: 1,
290
+ protocol: 'valve'
291
+ }
292
+ },
293
+ battalion1944: {
294
+ name: 'Battalion 1944',
295
+ release_year: 2018,
296
+ options: {
297
+ port: 7777,
298
+ port_query_offset: 3,
299
+ protocol: 'valve'
300
+ },
301
+ extra: {
302
+ old_id: 'bat1944'
303
+ }
304
+ },
305
+ beammp: {
306
+ name: 'BeamMP (2021)',
307
+ options: {
308
+ port: 30814,
309
+ protocol: 'beammp'
310
+ }
311
+ },
312
+ battlefield1942: {
313
+ name: 'Battlefield 1942',
314
+ release_year: 2002,
315
+ options: {
316
+ port: 14567,
317
+ port_query: 23000,
318
+ protocol: 'gamespy1'
319
+ },
320
+ extra: {
321
+ old_id: 'bf1942'
322
+ }
323
+ },
324
+ battlefieldvietnam: {
325
+ name: 'Battlefield Vietnam',
326
+ release_year: 2004,
327
+ options: {
328
+ port: 15567,
329
+ port_query: 23000,
330
+ protocol: 'gamespy2'
331
+ },
332
+ extra: {
333
+ old_id: 'bfv'
334
+ }
335
+ },
336
+ battlefield2: {
337
+ name: 'Battlefield 2',
338
+ release_year: 2005,
339
+ options: {
340
+ port: 16567,
341
+ port_query: 29900,
342
+ protocol: 'gamespy3'
343
+ },
344
+ extra: {
345
+ old_id: 'bf2'
346
+ }
347
+ },
348
+ battlefield2142: {
349
+ name: 'Battlefield 2142',
350
+ release_year: 2006,
351
+ options: {
352
+ port: 16567,
353
+ port_query: 29900,
354
+ protocol: 'gamespy3'
355
+ },
356
+ extra: {
357
+ old_id: 'bf2142'
358
+ }
359
+ },
360
+ bbc2: {
361
+ name: 'Battlefield: Bad Company 2',
362
+ release_year: 2010,
363
+ options: {
364
+ port: 19567,
365
+ port_query: 48888,
366
+ protocol: 'battlefield'
367
+ },
368
+ extra: {
369
+ old_id: 'bfbc2'
370
+ }
371
+ },
372
+ battlefield3: {
373
+ name: 'Battlefield 3',
374
+ release_year: 2011,
375
+ options: {
376
+ port: 25200,
377
+ port_query_offset: 22000,
378
+ protocol: 'battlefield'
379
+ },
380
+ extra: {
381
+ old_id: 'bf3'
382
+ }
383
+ },
384
+ battlefield4: {
385
+ name: 'Battlefield 4',
386
+ release_year: 2013,
387
+ options: {
388
+ port: 25200,
389
+ port_query_offset: 22000,
390
+ protocol: 'battlefield'
391
+ },
392
+ extra: {
393
+ old_id: 'bf4'
394
+ }
395
+ },
396
+ battlefieldhardline: {
397
+ name: 'Battlefield Hardline',
398
+ release_year: 2015,
399
+ options: {
400
+ port: 25200,
401
+ port_query_offset: 22000,
402
+ protocol: 'battlefield'
403
+ },
404
+ extra: {
405
+ old_id: 'bfh'
406
+ }
407
+ },
408
+ blackmesa: {
409
+ name: 'Black Mesa',
410
+ release_year: 2020,
411
+ options: {
412
+ port: 27015,
413
+ protocol: 'valve'
414
+ }
415
+ },
416
+ brainbread2: {
417
+ name: 'BrainBread 2',
418
+ release_year: 2022,
419
+ options: {
420
+ port: 27015,
421
+ protocol: 'valve'
422
+ }
423
+ },
424
+ brainbread: {
425
+ name: 'BrainBread',
426
+ release_year: 2007,
427
+ options: {
428
+ port: 27015,
429
+ protocol: 'valve'
430
+ }
431
+ },
432
+ breach: {
433
+ name: 'Breach',
434
+ release_year: 2011,
435
+ options: {
436
+ port: 27016,
437
+ protocol: 'valve'
438
+ }
439
+ },
440
+ breed: {
441
+ name: 'Breed',
442
+ release_year: 2004,
443
+ options: {
444
+ port: 7649,
445
+ protocol: 'gamespy2'
446
+ }
447
+ },
448
+ brink: {
449
+ name: 'Brink',
450
+ release_year: 2011,
451
+ options: {
452
+ port_query_offset: 1,
453
+ protocol: 'valve'
454
+ }
455
+ },
456
+ brokeprotocol: {
457
+ name: 'BROKE PROTOCOL',
458
+ release_year: 2024,
459
+ options: {
460
+ protocol: 'brokeprotocol'
461
+ },
462
+ extra: {
463
+ doc_notes: 'brokeprotocol'
464
+ }
465
+ },
466
+ basedefense: {
467
+ name: 'Base Defense',
468
+ release_year: 2017,
469
+ options: {
470
+ port: 27015,
471
+ protocol: 'valve'
472
+ },
473
+ extra: {
474
+ old_id: 'bd'
475
+ }
476
+ },
477
+ bladesymphony: {
478
+ name: 'Blade Symphony',
479
+ release_year: 2014,
480
+ options: {
481
+ port: 27015,
482
+ protocol: 'valve'
483
+ },
484
+ extra: {
485
+ old_id: 'bs'
486
+ }
487
+ },
488
+ bas: {
489
+ name: 'Build and Shoot',
490
+ release_year: 2012,
491
+ options: {
492
+ port: 32887,
493
+ port_query_offset: -1,
494
+ protocol: 'buildandshoot'
495
+ },
496
+ extra: {
497
+ old_id: 'buildandshoot',
498
+ doc_notes: 'aosc-buildandshoot'
499
+ }
500
+ },
501
+ aosc: {
502
+ name: 'Ace of Spades Classic',
503
+ release_year: 2012,
504
+ options: {
505
+ port: 32887,
506
+ port_query_offset: -1,
507
+ protocol: 'buildandshoot'
508
+ },
509
+ extra: {
510
+ doc_notes: 'aosc-buildandshoot'
511
+ }
512
+ },
513
+ cbu: {
514
+ name: "Clive Barker's Undying",
515
+ release_year: 2002,
516
+ options: {
517
+ port: 7777,
518
+ port_query_offset: 1,
519
+ protocol: 'gamespy1'
520
+ }
521
+ },
522
+ cod: {
523
+ name: 'Call of Duty',
524
+ release_year: 2003,
525
+ options: {
526
+ port: 28960,
527
+ protocol: 'quake3'
528
+ }
529
+ },
530
+ coduo: {
531
+ name: 'Call of Duty: United Offensive',
532
+ release_year: 2004,
533
+ options: {
534
+ port: 28960,
535
+ protocol: 'quake3'
536
+ }
537
+ },
538
+ cod2: {
539
+ name: 'Call of Duty 2',
540
+ release_year: 2005,
541
+ options: {
542
+ port: 28960,
543
+ protocol: 'quake3'
544
+ }
545
+ },
546
+ cod3: {
547
+ name: 'Call of Duty 3',
548
+ release_year: 2006,
549
+ options: {
550
+ port: 28960,
551
+ protocol: 'quake3'
552
+ }
553
+ },
554
+ cod4mw: {
555
+ name: 'Call of Duty 4: Modern Warfare',
556
+ release_year: 2007,
557
+ options: {
558
+ port: 28960,
559
+ protocol: 'quake3'
560
+ },
561
+ extra: {
562
+ old_id: 'cod4'
563
+ }
564
+ },
565
+ codbo3: {
566
+ name: 'Call of Duty: Black Ops 3',
567
+ release_year: 2015,
568
+ options: {
569
+ port: 27017,
570
+ protocol: 'valve'
571
+ }
572
+ },
573
+ codwaw: {
574
+ name: 'Call of Duty: World at War',
575
+ release_year: 2008,
576
+ options: {
577
+ port: 28960,
578
+ protocol: 'quake3'
579
+ }
580
+ },
581
+ codmw2: {
582
+ name: 'Call of Duty: Modern Warfare 2',
583
+ release_year: 2009,
584
+ options: {
585
+ port: 28960,
586
+ protocol: 'quake3'
587
+ }
588
+ },
589
+ codmw3: {
590
+ name: 'Call of Duty: Modern Warfare 3',
591
+ release_year: 2011,
592
+ options: {
593
+ port_query_offset: 2,
594
+ protocol: 'valve'
595
+ }
596
+ },
597
+ coj: {
598
+ name: 'Call of Juarez',
599
+ release_year: 2006,
600
+ options: {
601
+ port_query: 26000,
602
+ protocol: 'ase'
603
+ },
604
+ extra: {
605
+ old_id: 'callofjuarez'
606
+ }
607
+ },
608
+ chaser: {
609
+ name: 'Chaser',
610
+ release_year: 2003,
611
+ options: {
612
+ port: 3000,
613
+ port_query_offset: 123,
614
+ protocol: 'ase'
615
+ }
616
+ },
617
+ cmw: {
618
+ name: 'Chivalry: Medieval Warfare',
619
+ release_year: 2012,
620
+ options: {
621
+ port: 7777,
622
+ port_query_offset: 2,
623
+ protocol: 'valve'
624
+ },
625
+ extra: {
626
+ old_id: 'chivalry'
627
+ }
628
+ },
629
+ chrome: {
630
+ name: 'Chrome',
631
+ release_year: 2003,
632
+ options: {
633
+ port: 27015,
634
+ port_query_offset: 123,
635
+ protocol: 'ase'
636
+ }
637
+ },
638
+ codenamecure: {
639
+ name: 'Codename CURE',
640
+ release_year: 2017,
641
+ options: {
642
+ port: 27015,
643
+ protocol: 'valve'
644
+ }
645
+ },
646
+ codenameeagle: {
647
+ name: 'Codename Eagle',
648
+ release_year: 2000,
649
+ options: {
650
+ port_query: 4711,
651
+ protocol: 'gamespy1'
652
+ }
653
+ },
654
+ colonysurvival: {
655
+ name: 'Colony Survival',
656
+ release_year: 2017,
657
+ options: {
658
+ port: 27004,
659
+ protocol: 'valve'
660
+ }
661
+ },
662
+ c3db: {
663
+ name: 'Commandos 3: Destination Berlin',
664
+ release_year: 2003,
665
+ options: {
666
+ port_query: 6500,
667
+ protocol: 'gamespy1'
668
+ },
669
+ extra: {
670
+ old_id: 'commandos3'
671
+ }
672
+ },
673
+ cacr: {
674
+ name: 'Command and Conquer: Renegade',
675
+ release_year: 2002,
676
+ options: {
677
+ port: 4848,
678
+ port_query: 25300,
679
+ protocol: 'gamespy1'
680
+ },
681
+ extra: {
682
+ old_id: 'cacrenegade'
683
+ }
684
+ },
685
+ conanexiles: {
686
+ name: 'Conan Exiles',
687
+ release_year: 2018,
688
+ options: {
689
+ port: 7777,
690
+ port_query: 27015,
691
+ protocol: 'valve'
692
+ },
693
+ extra: {
694
+ doc_notes: 'conanexiles'
695
+ }
696
+ },
697
+ contagion: {
698
+ name: 'Contagion',
699
+ release_year: 2011,
700
+ options: {
701
+ port: 27015,
702
+ protocol: 'valve'
703
+ }
704
+ },
705
+ contractjack: {
706
+ name: 'Contract J.A.C.K.',
707
+ release_year: 2003,
708
+ options: {
709
+ port_query: 27888,
710
+ protocol: 'gamespy1'
711
+ },
712
+ extra: {
713
+ old_id: 'contactjack'
714
+ }
715
+ },
716
+ corekeeper: {
717
+ name: 'Core Keeper',
718
+ release_year: 2022,
719
+ options: {
720
+ port: 1234,
721
+ port_query_offset: 1,
722
+ protocol: 'valve'
723
+ }
724
+ },
725
+ counterstrike15: {
726
+ name: 'Counter-Strike 1.5',
727
+ release_year: 2002,
728
+ options: {
729
+ port: 27015,
730
+ protocol: 'goldsrc'
731
+ },
732
+ extra: {
733
+ old_id: 'cs15'
734
+ }
735
+ },
736
+ counterstrike16: {
737
+ name: 'Counter-Strike 1.6',
738
+ release_year: 2003,
739
+ options: {
740
+ port: 27015,
741
+ protocol: 'valve'
742
+ },
743
+ extra: {
744
+ old_id: 'cs16'
745
+ }
746
+ },
747
+ c2d: {
748
+ name: 'CS2D',
749
+ release_year: 2004,
750
+ options: {
751
+ port: 36963,
752
+ protocol: 'cs2d'
753
+ },
754
+ extra: {
755
+ old_id: 'cs2d'
756
+ }
757
+ },
758
+ cscz: {
759
+ name: 'Counter-Strike: Condition Zero',
760
+ release_year: 2004,
761
+ options: {
762
+ port: 27015,
763
+ protocol: 'valve'
764
+ }
765
+ },
766
+ css: {
767
+ name: 'Counter-Strike: Source',
768
+ release_year: 2004,
769
+ options: {
770
+ port: 27015,
771
+ protocol: 'valve'
772
+ }
773
+ },
774
+ csgo: {
775
+ name: 'Counter-Strike: Global Offensive',
776
+ release_year: 2012,
777
+ options: {
778
+ port: 27015,
779
+ protocol: 'valve'
780
+ },
781
+ extra: {
782
+ doc_notes: 'csgo'
783
+ }
784
+ },
785
+ counterstrike2: {
786
+ name: 'Counter-Strike 2',
787
+ release_year: 2023,
788
+ options: {
789
+ port: 27015,
790
+ protocol: 'valve'
791
+ },
792
+ extra: {
793
+ old_id: 'cs2',
794
+ doc_notes: 'cs2'
795
+ }
796
+ },
797
+ creativerse: {
798
+ name: 'Creativerse',
799
+ release_year: 2017,
800
+ options: {
801
+ port: 26900,
802
+ port_query_offset: 1,
803
+ protocol: 'valve'
804
+ }
805
+ },
806
+ crce: {
807
+ name: 'Cross Racing Championship Extreme',
808
+ release_year: 2005,
809
+ options: {
810
+ port: 12321,
811
+ port_query_offset: 123,
812
+ protocol: 'ase'
813
+ },
814
+ extra: {
815
+ old_id: 'crossracing'
816
+ }
817
+ },
818
+ crysis: {
819
+ name: 'Crysis',
820
+ release_year: 2007,
821
+ options: {
822
+ port: 64087,
823
+ protocol: 'gamespy3'
824
+ }
825
+ },
826
+ crysiswars: {
827
+ name: 'Crysis Wars',
828
+ release_year: 2008,
829
+ options: {
830
+ port: 64100,
831
+ protocol: 'gamespy3'
832
+ }
833
+ },
834
+ crysis2: {
835
+ name: 'Crysis 2',
836
+ release_year: 2011,
837
+ options: {
838
+ port: 64000,
839
+ protocol: 'gamespy3'
840
+ }
841
+ },
842
+ dab: {
843
+ name: 'Double Action: Boogaloo',
844
+ release_year: 2014,
845
+ options: {
846
+ port: 27015,
847
+ protocol: 'valve'
848
+ }
849
+ },
850
+ daikatana: {
851
+ name: 'Daikatana',
852
+ release_year: 2000,
853
+ options: {
854
+ port: 27982,
855
+ port_query_offset: 10,
856
+ protocol: 'quake2'
857
+ }
858
+ },
859
+ dmomam: {
860
+ name: 'Dark Messiah of Might and Magic',
861
+ release_year: 2006,
862
+ options: {
863
+ port: 27015,
864
+ protocol: 'valve'
865
+ }
866
+ },
867
+ dhe4445: {
868
+ name: "Darkest Hour: Europe '44-'45",
869
+ release_year: 2008,
870
+ options: {
871
+ port: 7757,
872
+ port_query_offset: 1,
873
+ protocol: 'unreal2'
874
+ },
875
+ extra: {
876
+ old_id: 'darkesthour'
877
+ }
878
+ },
879
+ dayofdragons: {
880
+ name: 'Day of Dragons',
881
+ release_year: 2019,
882
+ options: {
883
+ port: 7777,
884
+ port_query: 27015,
885
+ protocol: 'valve'
886
+ }
887
+ },
888
+ dow: {
889
+ name: 'Days of War',
890
+ release_year: 2017,
891
+ options: {
892
+ port: 27015,
893
+ protocol: 'valve'
894
+ },
895
+ extra: {
896
+ old_id: 'daysofwar'
897
+ }
898
+ },
899
+ dayz: {
900
+ name: 'DayZ',
901
+ release_year: 2018,
902
+ options: {
903
+ port: 2302,
904
+ port_query_offset: 24714,
905
+ protocol: 'dayz'
906
+ },
907
+ extra: {
908
+ doc_notes: 'dayz'
909
+ }
910
+ },
911
+ dayzmod: {
912
+ name: 'DayZ Mod',
913
+ release_year: 2013,
914
+ options: {
915
+ port: 2302,
916
+ port_query_offset: 1,
917
+ protocol: 'valve'
918
+ }
919
+ },
920
+ ddpt: {
921
+ name: 'Deadly Dozen: Pacific Theater',
922
+ release_year: 2002,
923
+ options: {
924
+ port_query: 25300,
925
+ protocol: 'gamespy1'
926
+ },
927
+ extra: {
928
+ old_id: 'deadlydozenpt'
929
+ }
930
+ },
931
+ deerhunter2005: {
932
+ name: 'Deer Hunter 2005',
933
+ release_year: 2004,
934
+ options: {
935
+ port: 23459,
936
+ port_query: 34567,
937
+ protocol: 'gamespy2'
938
+ },
939
+ extra: {
940
+ old_id: 'dh2005'
941
+ }
942
+ },
943
+ descent3: {
944
+ name: 'Descent 3',
945
+ release_year: 1999,
946
+ options: {
947
+ port: 2092,
948
+ port_query: 20142,
949
+ protocol: 'gamespy1'
950
+ }
951
+ },
952
+ deusex: {
953
+ name: 'Deus Ex',
954
+ release_year: 2000,
955
+ options: {
956
+ port: 7791,
957
+ port_query_offset: 1,
958
+ protocol: 'gamespy1'
959
+ }
960
+ },
961
+ devastation: {
962
+ name: 'Devastation',
963
+ release_year: 2003,
964
+ options: {
965
+ port: 7777,
966
+ port_query_offset: 1,
967
+ protocol: 'unreal2'
968
+ }
969
+ },
970
+ ddd: {
971
+ name: 'Dino D-Day',
972
+ release_year: 2011,
973
+ options: {
974
+ port: 27015,
975
+ protocol: 'valve'
976
+ },
977
+ extra: {
978
+ old_id: 'dinodday'
979
+ }
980
+ },
981
+ dtr2: {
982
+ name: 'Dirt Track Racing 2',
983
+ release_year: 2002,
984
+ options: {
985
+ port: 32240,
986
+ port_query_offset: -100,
987
+ protocol: 'gamespy1'
988
+ },
989
+ extra: {
990
+ old_id: 'dirttrackracing2'
991
+ }
992
+ },
993
+ discord: {
994
+ name: 'Discord',
995
+ release_year: 2015,
996
+ options: {
997
+ protocol: 'discord'
998
+ },
999
+ extra: {
1000
+ doc_notes: 'discord'
1001
+ }
1002
+ },
1003
+ deathmatchclassic: {
1004
+ name: 'Deathmatch Classic',
1005
+ release_year: 2001,
1006
+ options: {
1007
+ port: 27015,
1008
+ protocol: 'valve'
1009
+ },
1010
+ extra: {
1011
+ old_id: 'dmc'
1012
+ }
1013
+ },
1014
+ dal: {
1015
+ name: 'Dark and Light',
1016
+ release_year: 2017,
1017
+ options: {
1018
+ port: 7777,
1019
+ port_query: 27015,
1020
+ protocol: 'valve'
1021
+ },
1022
+ extra: {
1023
+ old_id: 'dnl'
1024
+ }
1025
+ },
1026
+ dnf2001: {
1027
+ name: 'Duke Nukem Forever 2001',
1028
+ release_year: 2022,
1029
+ options: {
1030
+ port: 7777,
1031
+ port_query_offset: 1,
1032
+ protocol: 'gamespy1'
1033
+ }
1034
+ },
1035
+ dod: {
1036
+ name: 'Day of Defeat',
1037
+ release_year: 2003,
1038
+ options: {
1039
+ port: 27015,
1040
+ protocol: 'valve'
1041
+ }
1042
+ },
1043
+ dods: {
1044
+ name: 'Day of Defeat: Source',
1045
+ release_year: 2005,
1046
+ options: {
1047
+ port: 27015,
1048
+ protocol: 'valve'
1049
+ }
1050
+ },
1051
+ doi: {
1052
+ name: 'Day of Infamy',
1053
+ release_year: 2017,
1054
+ options: {
1055
+ port: 27015,
1056
+ protocol: 'valve'
1057
+ }
1058
+ },
1059
+ doom3: {
1060
+ name: 'Doom 3',
1061
+ release_year: 2004,
1062
+ options: {
1063
+ port: 27666,
1064
+ protocol: 'doom3'
1065
+ }
1066
+ },
1067
+ dota2: {
1068
+ name: 'Dota 2',
1069
+ release_year: 2013,
1070
+ options: {
1071
+ port: 27015,
1072
+ protocol: 'valve'
1073
+ }
1074
+ },
1075
+ dootf: {
1076
+ name: 'Drakan: Order of the Flame',
1077
+ release_year: 1999,
1078
+ options: {
1079
+ port: 27045,
1080
+ port_query_offset: 1,
1081
+ protocol: 'gamespy1'
1082
+ },
1083
+ extra: {
1084
+ old_id: 'drakan'
1085
+ }
1086
+ },
1087
+ dst: {
1088
+ name: "Don't Starve Together",
1089
+ release_year: 2016,
1090
+ options: {
1091
+ port: 10999,
1092
+ port_query: 27016,
1093
+ protocol: 'valve'
1094
+ }
1095
+ },
1096
+ dystopia: {
1097
+ name: 'Dystopia',
1098
+ release_year: 2005,
1099
+ options: {
1100
+ port: 27015,
1101
+ protocol: 'valve'
1102
+ },
1103
+ extra: {
1104
+ old_id: 'dys'
1105
+ }
1106
+ },
1107
+ eco: {
1108
+ name: 'Eco',
1109
+ release_year: 2018,
1110
+ options: {
1111
+ port: 3000,
1112
+ port_query_offset: 1,
1113
+ protocol: 'eco'
1114
+ }
1115
+ },
1116
+ eldewrito: {
1117
+ name: 'Halo Online - ElDewrito',
1118
+ options: {
1119
+ port: 11775,
1120
+ protocol: 'eldewrito'
1121
+ }
1122
+ },
1123
+ empiresmod: {
1124
+ name: 'Empires Mod',
1125
+ release_year: 2008,
1126
+ options: {
1127
+ port: 27015,
1128
+ protocol: 'valve'
1129
+ },
1130
+ extra: {
1131
+ old_id: 'em'
1132
+ }
1133
+ },
1134
+ egs: {
1135
+ name: 'Empyrion - Galactic Survival',
1136
+ release_year: 2015,
1137
+ options: {
1138
+ port: 30000,
1139
+ port_query_offset: 1,
1140
+ protocol: 'valve'
1141
+ },
1142
+ extra: {
1143
+ old_id: 'empyrion'
1144
+ }
1145
+ },
1146
+ enshrouded: {
1147
+ name: 'enshrouded',
1148
+ release_year: 2024,
1149
+ options: {
1150
+ port: 15636,
1151
+ port_query: 15637,
1152
+ protocol: 'valve'
1153
+ }
1154
+ },
1155
+ etqw: {
1156
+ name: 'Enemy Territory: Quake Wars',
1157
+ release_year: 2007,
1158
+ options: {
1159
+ port: 3074,
1160
+ port_query: 27733,
1161
+ protocol: 'doom3'
1162
+ }
1163
+ },
1164
+ ets2: {
1165
+ name: 'Euro Truck Simulator 2',
1166
+ release_year: 2012,
1167
+ options: {
1168
+ port: 27015,
1169
+ port_query_offset: 1,
1170
+ protocol: 'valve'
1171
+ }
1172
+ },
1173
+ exfil: {
1174
+ name: 'Exfil',
1175
+ release_year: 2024,
1176
+ options: {
1177
+ port: 7777,
1178
+ port_query: 27015,
1179
+ protocol: 'valve'
1180
+ }
1181
+ },
1182
+ fear: {
1183
+ name: 'F.E.A.R.',
1184
+ release_year: 2005,
1185
+ options: {
1186
+ port_query: 27888,
1187
+ protocol: 'gamespy2'
1188
+ }
1189
+ },
1190
+ formulaone2002: {
1191
+ name: 'Formula One 2002',
1192
+ release_year: 2002,
1193
+ options: {
1194
+ port_query: 3297,
1195
+ protocol: 'gamespy1'
1196
+ },
1197
+ extra: {
1198
+ old_id: 'f12002'
1199
+ }
1200
+ },
1201
+ f1c9902: {
1202
+ name: "F1 Challenge '99-'02",
1203
+ release_year: 2002,
1204
+ options: {
1205
+ port_query: 34397,
1206
+ protocol: 'gamespy1'
1207
+ }
1208
+ },
1209
+ factorio: {
1210
+ name: 'Factorio',
1211
+ release_year: 2016,
1212
+ options: {
1213
+ port_query: 34197,
1214
+ protocol: 'factorio'
1215
+ }
1216
+ },
1217
+ farcry: {
1218
+ name: 'Far Cry',
1219
+ release_year: 2004,
1220
+ options: {
1221
+ port: 49001,
1222
+ port_query_offset: 123,
1223
+ protocol: 'ase'
1224
+ }
1225
+ },
1226
+ farcry2: {
1227
+ name: 'Far Cry 2',
1228
+ release_year: 2008,
1229
+ options: {
1230
+ port_query: 14001,
1231
+ protocol: 'ase'
1232
+ }
1233
+ },
1234
+ farmingsimulator19: {
1235
+ name: 'Farming Simulator 19',
1236
+ release_year: 2018,
1237
+ options: {
1238
+ port: 8080,
1239
+ protocol: 'farmingsimulator'
1240
+ }
1241
+ },
1242
+ farmingsimulator22: {
1243
+ name: 'Farming Simulator 22',
1244
+ release_year: 2021,
1245
+ options: {
1246
+ port: 8080,
1247
+ protocol: 'farmingsimulator'
1248
+ }
1249
+ },
1250
+ farmingsimulator25: {
1251
+ name: 'Farming Simulator 25',
1252
+ release_year: 2024,
1253
+ options: {
1254
+ port: 8080,
1255
+ protocol: 'farmingsimulator'
1256
+ }
1257
+ },
1258
+ fof: {
1259
+ name: 'Fistful of Frags',
1260
+ release_year: 2014,
1261
+ options: {
1262
+ port: 27015,
1263
+ protocol: 'valve'
1264
+ }
1265
+ },
1266
+ foundry: {
1267
+ name: 'FOUNDRY',
1268
+ release_year: 2024,
1269
+ options: {
1270
+ port: 27015,
1271
+ protocol: 'valve'
1272
+ }
1273
+ },
1274
+ fortressforever: {
1275
+ name: 'Fortress Forever',
1276
+ release_year: 2007,
1277
+ options: {
1278
+ port: 27015,
1279
+ protocol: 'valve'
1280
+ }
1281
+ },
1282
+ ofcwc: {
1283
+ name: 'Operation Flashpoint: Cold War Crisis',
1284
+ release_year: 2001,
1285
+ options: {
1286
+ port: 2302,
1287
+ port_query_offset: 1,
1288
+ protocol: 'gamespy1'
1289
+ }
1290
+ },
1291
+ ofr: {
1292
+ name: 'Operation Flashpoint: Resistance',
1293
+ release_year: 2002,
1294
+ options: {
1295
+ port: 2302,
1296
+ port_query_offset: 1,
1297
+ protocol: 'gamespy1'
1298
+ },
1299
+ extra: {
1300
+ old_id: 'flashpointresistance'
1301
+ }
1302
+ },
1303
+ ffow: {
1304
+ name: 'Frontlines: Fuel of War',
1305
+ release_year: 2008,
1306
+ options: {
1307
+ port: 5476,
1308
+ port_query_offset: 2,
1309
+ protocol: 'ffow'
1310
+ }
1311
+ },
1312
+ gta5f: {
1313
+ name: 'Grand Theft Auto V - FiveM',
1314
+ release_year: 2013,
1315
+ options: {
1316
+ port: 30120,
1317
+ protocol: 'fivem'
1318
+ },
1319
+ extra: {
1320
+ old_id: 'fivem',
1321
+ doc_notes: 'gta5f'
1322
+ }
1323
+ },
1324
+ gta5r: {
1325
+ name: 'Grand Theft Auto V - RageMP',
1326
+ release_year: 2016,
1327
+ options: {
1328
+ port: 22005,
1329
+ protocol: 'ragemp'
1330
+ },
1331
+ extra: {
1332
+ doc_notes: 'gta5r'
1333
+ }
1334
+ },
1335
+ gta5am: {
1336
+ name: 'Grand Theft Auto V - alt:V Multiplayer',
1337
+ release_year: 2015,
1338
+ options: {
1339
+ port: 7788,
1340
+ protocol: 'altvmp'
1341
+ },
1342
+ extra: {
1343
+ doc_notes: 'gta5am',
1344
+ old_id: 'gta5a'
1345
+ }
1346
+ },
1347
+ garrysmod: {
1348
+ name: "Garry's Mod",
1349
+ release_year: 2004,
1350
+ options: {
1351
+ port: 27015,
1352
+ protocol: 'valve'
1353
+ }
1354
+ },
1355
+ tcgraw: {
1356
+ name: "Tom Clancy's Ghost Recon Advanced Warfighter",
1357
+ release_year: 2006,
1358
+ options: {
1359
+ port_query: 15250,
1360
+ protocol: 'gamespy2'
1361
+ },
1362
+ extra: {
1363
+ old_id: 'graw'
1364
+ }
1365
+ },
1366
+ tcgraw2: {
1367
+ name: "Tom Clancy's Ghost Recon Advanced Warfighter 2",
1368
+ release_year: 2007,
1369
+ options: {
1370
+ port_query: 16250,
1371
+ protocol: 'gamespy2'
1372
+ },
1373
+ extra: {
1374
+ old_id: 'graw2'
1375
+ }
1376
+ },
1377
+ gck: {
1378
+ name: 'Giants: Citizen Kabuto',
1379
+ release_year: 2000,
1380
+ options: {
1381
+ port_query: 8911,
1382
+ protocol: 'gamespy1'
1383
+ },
1384
+ extra: {
1385
+ old_id: 'giantscitizenkabuto'
1386
+ }
1387
+ },
1388
+ globaloperations: {
1389
+ name: 'Global Operations',
1390
+ release_year: 2002,
1391
+ options: {
1392
+ port_query: 28672,
1393
+ protocol: 'gamespy1'
1394
+ }
1395
+ },
1396
+ geneshift: {
1397
+ name: 'Geneshift',
1398
+ release_year: 2017,
1399
+ options: {
1400
+ port: 11235,
1401
+ protocol: 'geneshift'
1402
+ }
1403
+ },
1404
+ goldeneyesource: {
1405
+ name: 'GoldenEye: Source',
1406
+ release_year: 2010,
1407
+ options: {
1408
+ port: 27015,
1409
+ protocol: 'valve'
1410
+ },
1411
+ extra: {
1412
+ old_id: 'ges'
1413
+ }
1414
+ },
1415
+ gus: {
1416
+ name: 'Gore: Ultimate Soldier',
1417
+ release_year: 2002,
1418
+ options: {
1419
+ port: 27777,
1420
+ port_query_offset: 1,
1421
+ protocol: 'gamespy1'
1422
+ },
1423
+ extra: {
1424
+ old_id: 'gore'
1425
+ }
1426
+ },
1427
+ groundbreach: {
1428
+ name: 'Ground Breach',
1429
+ release_year: 2018,
1430
+ options: {
1431
+ port: 27015,
1432
+ protocol: 'valve'
1433
+ }
1434
+ },
1435
+ gunmanchronicles: {
1436
+ name: 'Gunman Chronicles',
1437
+ release_year: 2000,
1438
+ options: {
1439
+ port: 27015,
1440
+ protocol: 'valve'
1441
+ }
1442
+ },
1443
+ hld: {
1444
+ name: 'Half-Life Deathmatch',
1445
+ release_year: 1998,
1446
+ options: {
1447
+ port: 27015,
1448
+ protocol: 'valve'
1449
+ },
1450
+ extra: {
1451
+ old_id: 'hldm'
1452
+ }
1453
+ },
1454
+ hlds: {
1455
+ name: 'Half-Life Deathmatch: Source',
1456
+ release_year: 2005,
1457
+ options: {
1458
+ port: 27015,
1459
+ protocol: 'valve'
1460
+ },
1461
+ extra: {
1462
+ old_id: 'hldms'
1463
+ }
1464
+ },
1465
+ hlof: {
1466
+ name: 'Half-Life: Opposing Force',
1467
+ release_year: 1999,
1468
+ options: {
1469
+ port: 27015,
1470
+ protocol: 'valve'
1471
+ },
1472
+ extra: {
1473
+ old_id: 'hlopfor'
1474
+ }
1475
+ },
1476
+ hl2d: {
1477
+ name: 'Half-Life 2: Deathmatch',
1478
+ release_year: 2004,
1479
+ options: {
1480
+ port: 27015,
1481
+ protocol: 'valve'
1482
+ },
1483
+ extra: {
1484
+ old_id: 'hl2dm'
1485
+ }
1486
+ },
1487
+ halo: {
1488
+ name: 'Halo',
1489
+ release_year: 2003,
1490
+ options: {
1491
+ port: 2302,
1492
+ protocol: 'gamespy2'
1493
+ }
1494
+ },
1495
+ halo2: {
1496
+ name: 'Halo 2',
1497
+ release_year: 2007,
1498
+ options: {
1499
+ port: 2302,
1500
+ protocol: 'gamespy2'
1501
+ }
1502
+ },
1503
+ hawakening: {
1504
+ name: 'Hawakening',
1505
+ release_year: 2024,
1506
+ options: {
1507
+ port: 7777,
1508
+ port_query: 27015,
1509
+ protocol: 'hawakening'
1510
+ },
1511
+ extra: {
1512
+ doc_notes: 'hawakening'
1513
+ }
1514
+ },
1515
+ heretic2: {
1516
+ name: 'Heretic II',
1517
+ release_year: 1998,
1518
+ options: {
1519
+ port: 27900,
1520
+ port_query_offset: 1,
1521
+ protocol: 'gamespy1'
1522
+ }
1523
+ },
1524
+ hexen2: {
1525
+ name: 'Hexen II',
1526
+ release_year: 1997,
1527
+ options: {
1528
+ port: 26900,
1529
+ port_query_offset: 50,
1530
+ protocol: 'hexen2'
1531
+ }
1532
+ },
1533
+ thehidden: {
1534
+ name: 'The Hidden',
1535
+ release_year: 2005,
1536
+ options: {
1537
+ port: 27015,
1538
+ protocol: 'valve'
1539
+ },
1540
+ extra: {
1541
+ old_id: 'hidden'
1542
+ }
1543
+ },
1544
+ hll: {
1545
+ name: 'Hell Let Loose',
1546
+ release_year: 2019,
1547
+ options: {
1548
+ port: 27015,
1549
+ protocol: 'valve'
1550
+ }
1551
+ },
1552
+ hiddendangerous2: {
1553
+ name: 'Hidden & Dangerous 2',
1554
+ release_year: 2003,
1555
+ options: {
1556
+ port: 11001,
1557
+ port_query_offset: 3,
1558
+ protocol: 'gamespy1'
1559
+ },
1560
+ extra: {
1561
+ old_id: 'had2'
1562
+ }
1563
+ },
1564
+ homefront: {
1565
+ name: 'Homefront',
1566
+ release_year: 2011,
1567
+ options: {
1568
+ port: 27015,
1569
+ protocol: 'valve'
1570
+ }
1571
+ },
1572
+ homeworld2: {
1573
+ name: 'Homeworld 2',
1574
+ release_year: 2003,
1575
+ options: {
1576
+ port_query: 6500,
1577
+ protocol: 'gamespy1'
1578
+ }
1579
+ },
1580
+ hurtworld: {
1581
+ name: 'Hurtworld',
1582
+ release_year: 2015,
1583
+ options: {
1584
+ port: 12871,
1585
+ port_query: 12881,
1586
+ protocol: 'valve'
1587
+ }
1588
+ },
1589
+ i2cs: {
1590
+ name: 'IGI 2: Covert Strike',
1591
+ release_year: 2003,
1592
+ options: {
1593
+ port_query: 26001,
1594
+ protocol: 'gamespy1'
1595
+ },
1596
+ extra: {
1597
+ old_id: 'igi2'
1598
+ }
1599
+ },
1600
+ i2s: {
1601
+ name: 'IL-2 Sturmovik',
1602
+ release_year: 2001,
1603
+ options: {
1604
+ port_query: 21000,
1605
+ protocol: 'gamespy1'
1606
+ },
1607
+ extra: {
1608
+ old_id: 'il2'
1609
+ }
1610
+ },
1611
+ icarus: {
1612
+ name: 'Icarus',
1613
+ release_year: 2021,
1614
+ options: {
1615
+ port: 27015,
1616
+ protocol: 'valve'
1617
+ }
1618
+ },
1619
+ insurgency: {
1620
+ name: 'Insurgency',
1621
+ release_year: 2014,
1622
+ options: {
1623
+ port: 27015,
1624
+ protocol: 'valve'
1625
+ }
1626
+ },
1627
+ imic: {
1628
+ name: 'Insurgency: Modern Infantry Combat',
1629
+ release_year: 2007,
1630
+ options: {
1631
+ port: 27015,
1632
+ protocol: 'valve'
1633
+ },
1634
+ extra: {
1635
+ old_id: 'insurgencymic'
1636
+ }
1637
+ },
1638
+ insurgencysandstorm: {
1639
+ name: 'Insurgency: Sandstorm',
1640
+ release_year: 2018,
1641
+ options: {
1642
+ port: 27015,
1643
+ port_query_offset: 1,
1644
+ protocol: 'valve'
1645
+ }
1646
+ },
1647
+ ironstorm: {
1648
+ name: 'Iron Storm',
1649
+ release_year: 2002,
1650
+ options: {
1651
+ port_query: 3505,
1652
+ protocol: 'gamespy1'
1653
+ }
1654
+ },
1655
+ theisle: {
1656
+ name: 'The Isle',
1657
+ release_year: 2015,
1658
+ options: {
1659
+ port: 7707,
1660
+ port_query_offset: 1,
1661
+ protocol: 'valve'
1662
+ },
1663
+ extra: {
1664
+ old_id: 'isle'
1665
+ }
1666
+ },
1667
+ tie: {
1668
+ name: 'The Isle Evrima',
1669
+ options: {
1670
+ port: 7777,
1671
+ protocol: 'theisleevrima'
1672
+ },
1673
+ release_year: 2020
1674
+ },
1675
+ jb0n: {
1676
+ name: 'James Bond 007: Nightfire',
1677
+ release_year: 2002,
1678
+ options: {
1679
+ port_query: 6550,
1680
+ protocol: 'gamespy1'
1681
+ },
1682
+ extra: {
1683
+ old_id: 'jamesbondnightfire'
1684
+ }
1685
+ },
1686
+ jc2m: {
1687
+ name: 'Just Cause 2 - Multiplayer',
1688
+ release_year: 2010,
1689
+ options: {
1690
+ port: 7777,
1691
+ protocol: 'jc2mp'
1692
+ },
1693
+ extra: {
1694
+ old_id: 'jc2mp'
1695
+ }
1696
+ },
1697
+ jc3m: {
1698
+ name: 'Just Cause 3 - Multiplayer',
1699
+ release_year: 2017,
1700
+ options: {
1701
+ port: 4200,
1702
+ port_query_offset: 1,
1703
+ protocol: 'valve'
1704
+ },
1705
+ extra: {
1706
+ old_id: 'jc3mp'
1707
+ }
1708
+ },
1709
+ killingfloor: {
1710
+ name: 'Killing Floor',
1711
+ release_year: 2009,
1712
+ options: {
1713
+ port: 7707,
1714
+ port_query_offset: 1,
1715
+ protocol: 'unreal2'
1716
+ }
1717
+ },
1718
+ killingfloor2: {
1719
+ name: 'Killing Floor 2',
1720
+ release_year: 2016,
1721
+ options: {
1722
+ port: 7777,
1723
+ port_query: 27015,
1724
+ protocol: 'valve'
1725
+ }
1726
+ },
1727
+ kloc: {
1728
+ name: 'Kingpin: Life of Crime',
1729
+ release_year: 1999,
1730
+ options: {
1731
+ port: 31510,
1732
+ port_query_offset: -10,
1733
+ protocol: 'gamespy1'
1734
+ },
1735
+ extra: {
1736
+ old_id: 'kingpin'
1737
+ }
1738
+ },
1739
+ kpctnc: {
1740
+ name: 'Kiss: Psycho Circus: The Nightmare Child',
1741
+ release_year: 2000,
1742
+ options: {
1743
+ port: 7777,
1744
+ port_query_offset: 1,
1745
+ protocol: 'gamespy1'
1746
+ },
1747
+ extra: {
1748
+ old_id: 'kisspc'
1749
+ }
1750
+ },
1751
+ kspd: {
1752
+ name: 'Kerbal Space Program - DMP',
1753
+ release_year: 2015,
1754
+ options: {
1755
+ port: 6702,
1756
+ port_query_offset: 1,
1757
+ protocol: 'kspdmp'
1758
+ },
1759
+ extra: {
1760
+ old_id: 'kspdmp'
1761
+ }
1762
+ },
1763
+ kreedzclimbing: {
1764
+ name: 'Kreedz Climbing',
1765
+ release_year: 2017,
1766
+ options: {
1767
+ port: 27015,
1768
+ protocol: 'valve'
1769
+ },
1770
+ extra: {
1771
+ old_id: 'kzmod'
1772
+ }
1773
+ },
1774
+ l4d: {
1775
+ name: 'Left 4 Dead',
1776
+ release_year: 2008,
1777
+ options: {
1778
+ port: 27015,
1779
+ protocol: 'valve'
1780
+ },
1781
+ extra: {
1782
+ old_id: 'left4dead'
1783
+ }
1784
+ },
1785
+ l4d2: {
1786
+ name: 'Left 4 Dead 2',
1787
+ release_year: 2009,
1788
+ options: {
1789
+ port: 27015,
1790
+ protocol: 'valve'
1791
+ },
1792
+ extra: {
1793
+ old_id: 'left4dead2'
1794
+ }
1795
+ },
1796
+ m2m: {
1797
+ name: 'Mafia II - Multiplayer',
1798
+ release_year: 2010,
1799
+ options: {
1800
+ port: 27016,
1801
+ port_query_offset: 1,
1802
+ protocol: 'mafia2mp'
1803
+ },
1804
+ extra: {
1805
+ old_id: 'm2mp'
1806
+ }
1807
+ },
1808
+ m2o: {
1809
+ name: 'Mafia II - Online',
1810
+ release_year: 2010,
1811
+ options: {
1812
+ port: 27015,
1813
+ port_query_offset: 1,
1814
+ protocol: 'mafia2online'
1815
+ }
1816
+ },
1817
+ medievalengineers: {
1818
+ name: 'Medieval Engineers',
1819
+ release_year: 2015,
1820
+ options: {
1821
+ port: 27015,
1822
+ protocol: 'valve'
1823
+ }
1824
+ },
1825
+ moe: {
1826
+ name: 'Myth of Empires',
1827
+ release_year: 2024,
1828
+ options: {
1829
+ port_query: 12888,
1830
+ protocol: 'valve'
1831
+ }
1832
+ },
1833
+ mohaa: {
1834
+ name: 'Medal of Honor: Allied Assault',
1835
+ release_year: 2002,
1836
+ options: {
1837
+ port: 12203,
1838
+ port_query_offset: 97,
1839
+ protocol: 'gamespy1'
1840
+ }
1841
+ },
1842
+ mohaas: {
1843
+ name: 'Medal of Honor: Allied Assault Spearhead',
1844
+ release_year: 2002,
1845
+ options: {
1846
+ port: 12203,
1847
+ port_query_offset: 97,
1848
+ protocol: 'gamespy1'
1849
+ },
1850
+ extra: {
1851
+ old_id: 'mohsh'
1852
+ }
1853
+ },
1854
+ mohaab: {
1855
+ name: 'Medal of Honor: Allied Assault Breakthrough',
1856
+ release_year: 2003,
1857
+ options: {
1858
+ port: 12203,
1859
+ port_query_offset: 97,
1860
+ protocol: 'gamespy1'
1861
+ },
1862
+ extra: {
1863
+ old_id: 'mohbt'
1864
+ }
1865
+ },
1866
+ mohpa: {
1867
+ name: 'Medal of Honor: Pacific Assault',
1868
+ release_year: 2004,
1869
+ options: {
1870
+ port: 13203,
1871
+ port_query_offset: 97,
1872
+ protocol: 'gamespy1'
1873
+ }
1874
+ },
1875
+ moha: {
1876
+ name: 'Medal of Honor: Airborne',
1877
+ release_year: 2007,
1878
+ options: {
1879
+ port: 12203,
1880
+ port_query_offset: 97,
1881
+ protocol: 'gamespy1'
1882
+ },
1883
+ extra: {
1884
+ old_id: 'mohab'
1885
+ }
1886
+ },
1887
+ moh: {
1888
+ name: 'Medal of Honor',
1889
+ release_year: 2010,
1890
+ options: {
1891
+ port: 7673,
1892
+ port_query: 48888,
1893
+ protocol: 'battlefield'
1894
+ },
1895
+ extra: {
1896
+ old_id: 'moh2010'
1897
+ }
1898
+ },
1899
+ mohw: {
1900
+ name: 'Medal of Honor: Warfighter',
1901
+ release_year: 2012,
1902
+ options: {
1903
+ port: 25200,
1904
+ port_query_offset: 22000,
1905
+ protocol: 'battlefield'
1906
+ },
1907
+ extra: {
1908
+ old_id: 'mohwf'
1909
+ }
1910
+ },
1911
+ minecraft: {
1912
+ name: 'Minecraft',
1913
+ release_year: 2009,
1914
+ options: {
1915
+ port: 25565,
1916
+ protocol: 'minecraft'
1917
+ },
1918
+ extra: {
1919
+ doc_notes: 'minecraft'
1920
+ }
1921
+ },
1922
+ minetest: {
1923
+ name: 'Minetest',
1924
+ release_year: 2010,
1925
+ options: {
1926
+ port: 30000,
1927
+ protocol: 'minetest'
1928
+ }
1929
+ },
1930
+ mbe: {
1931
+ name: 'Minecraft: Bedrock Edition',
1932
+ release_year: 2011,
1933
+ options: {
1934
+ port: 19132,
1935
+ protocol: 'minecraft'
1936
+ },
1937
+ extra: {
1938
+ old_id: 'minecraftbe'
1939
+ }
1940
+ },
1941
+ mnc: {
1942
+ name: 'Monday Night Combat',
1943
+ release_year: 2011,
1944
+ options: {
1945
+ port: 7777,
1946
+ port_query: 27016,
1947
+ protocol: 'valve'
1948
+ }
1949
+ },
1950
+ mordhau: {
1951
+ name: 'Mordhau',
1952
+ release_year: 2019,
1953
+ options: {
1954
+ port: 7777,
1955
+ port_query: 27015,
1956
+ protocol: 'valve'
1957
+ }
1958
+ },
1959
+ gtavcmta: {
1960
+ name: 'Grand Theft Auto: Vice City - Multi Theft Auto',
1961
+ release_year: 2002,
1962
+ options: {
1963
+ port: 22003,
1964
+ port_query_offset: 123,
1965
+ protocol: 'ase'
1966
+ },
1967
+ extra: {
1968
+ old_id: 'mtavc'
1969
+ }
1970
+ },
1971
+ gtasamta: {
1972
+ name: 'Grand Theft Auto: San Andreas - Multi Theft Auto',
1973
+ release_year: 2004,
1974
+ options: {
1975
+ port: 22003,
1976
+ port_query_offset: 123,
1977
+ protocol: 'ase'
1978
+ },
1979
+ extra: {
1980
+ old_id: 'mtasa'
1981
+ }
1982
+ },
1983
+ mgm: {
1984
+ name: 'Mumble - GT Murmur',
1985
+ release_year: 2005,
1986
+ options: {
1987
+ port: 64738,
1988
+ port_query: 27800,
1989
+ protocol: 'mumble'
1990
+ },
1991
+ extra: {
1992
+ doc_notes: 'mumble'
1993
+ }
1994
+ },
1995
+ mumble: {
1996
+ name: 'Mumble',
1997
+ release_year: 2005,
1998
+ options: {
1999
+ port: 64738,
2000
+ protocol: 'mumbleping'
2001
+ },
2002
+ extra: {
2003
+ doc_notes: 'mumble'
2004
+ }
2005
+ },
2006
+ mutantfactions: {
2007
+ name: 'Mutant Factions',
2008
+ release_year: 2009,
2009
+ options: {
2010
+ port: 11235,
2011
+ protocol: 'geneshift'
2012
+ }
2013
+ },
2014
+ nascarthunder2004: {
2015
+ name: 'NASCAR Thunder 2004',
2016
+ release_year: 2003,
2017
+ options: {
2018
+ port_query: 13333,
2019
+ protocol: 'gamespy2'
2020
+ }
2021
+ },
2022
+ netpanzer: {
2023
+ name: 'netPanzer',
2024
+ release_year: 2002,
2025
+ options: {
2026
+ port: 3030,
2027
+ protocol: 'gamespy1'
2028
+ }
2029
+ },
2030
+ nmrih: {
2031
+ name: 'No More Room in Hell',
2032
+ release_year: 2011,
2033
+ options: {
2034
+ port: 27015,
2035
+ protocol: 'valve'
2036
+ }
2037
+ },
2038
+ naturalselection: {
2039
+ name: 'Natural Selection',
2040
+ release_year: 2002,
2041
+ options: {
2042
+ port: 27015,
2043
+ protocol: 'valve'
2044
+ },
2045
+ extra: {
2046
+ old_id: 'ns'
2047
+ }
2048
+ },
2049
+ naturalselection2: {
2050
+ name: 'Natural Selection 2',
2051
+ release_year: 2012,
2052
+ options: {
2053
+ port_query_offset: 1,
2054
+ protocol: 'valve'
2055
+ },
2056
+ extra: {
2057
+ old_id: 'ns2'
2058
+ }
2059
+ },
2060
+ nfshp2: {
2061
+ name: 'Need for Speed: Hot Pursuit 2',
2062
+ release_year: 2002,
2063
+ options: {
2064
+ port_query: 61220,
2065
+ protocol: 'gamespy1'
2066
+ }
2067
+ },
2068
+ nab: {
2069
+ name: 'Nerf Arena Blast',
2070
+ release_year: 1999,
2071
+ options: {
2072
+ port: 4444,
2073
+ port_query_offset: 1,
2074
+ protocol: 'gamespy1'
2075
+ }
2076
+ },
2077
+ neverwinternights: {
2078
+ name: 'Neverwinter Nights',
2079
+ release_year: 2002,
2080
+ options: {
2081
+ port_query: 5121,
2082
+ protocol: 'gamespy2'
2083
+ },
2084
+ extra: {
2085
+ old_id: 'nwn'
2086
+ }
2087
+ },
2088
+ neverwinternights2: {
2089
+ name: 'Neverwinter Nights 2',
2090
+ release_year: 2006,
2091
+ options: {
2092
+ port: 5121,
2093
+ port_query: 6500,
2094
+ protocol: 'gamespy2'
2095
+ },
2096
+ extra: {
2097
+ old_id: 'nwn2'
2098
+ }
2099
+ },
2100
+ nexuiz: {
2101
+ name: 'Nexuiz',
2102
+ release_year: 2005,
2103
+ options: {
2104
+ port_query: 26000,
2105
+ protocol: 'quake3'
2106
+ }
2107
+ },
2108
+ nitrofamily: {
2109
+ name: 'Nitro Family',
2110
+ release_year: 2004,
2111
+ options: {
2112
+ port_query: 25601,
2113
+ protocol: 'gamespy1'
2114
+ }
2115
+ },
2116
+ tonolf: {
2117
+ name: 'The Operative: No One Lives Forever',
2118
+ release_year: 2000,
2119
+ options: {
2120
+ port_query: 27888,
2121
+ protocol: 'gamespy1'
2122
+ },
2123
+ extra: {
2124
+ old_id: 'nolf'
2125
+ }
2126
+ },
2127
+ nla: {
2128
+ name: 'Nova-Life: Amboise',
2129
+ release_year: 2020,
2130
+ options: {
2131
+ port_query: 27015,
2132
+ protocol: 'valve'
2133
+ }
2134
+ },
2135
+ nolf2asihw: {
2136
+ name: "No One Lives Forever 2: A Spy in H.A.R.M.'s Way",
2137
+ release_year: 2002,
2138
+ options: {
2139
+ port_query: 27890,
2140
+ protocol: 'gamespy1'
2141
+ },
2142
+ extra: {
2143
+ old_id: 'nolf2'
2144
+ }
2145
+ },
2146
+ nucleardawn: {
2147
+ name: 'Nuclear Dawn',
2148
+ release_year: 2011,
2149
+ options: {
2150
+ port: 27015,
2151
+ protocol: 'valve'
2152
+ }
2153
+ },
2154
+ ohd: {
2155
+ name: 'Operation: Harsh Doorstop',
2156
+ release_year: 2023,
2157
+ options: {
2158
+ port: 7777,
2159
+ port_query: 27005,
2160
+ protocol: 'valve'
2161
+ }
2162
+ },
2163
+ onset: {
2164
+ name: 'Onset',
2165
+ release_year: 2019,
2166
+ options: {
2167
+ port: 7777,
2168
+ port_query_offset: -1,
2169
+ protocol: 'valve'
2170
+ }
2171
+ },
2172
+ openarena: {
2173
+ name: 'OpenArena',
2174
+ release_year: 2005,
2175
+ options: {
2176
+ port_query: 27960,
2177
+ protocol: 'quake3'
2178
+ }
2179
+ },
2180
+ openttd: {
2181
+ name: 'OpenTTD',
2182
+ release_year: 2004,
2183
+ options: {
2184
+ port: 3979,
2185
+ protocol: 'openttd'
2186
+ }
2187
+ },
2188
+ painkiller: {
2189
+ name: 'Painkiller',
2190
+ release_year: 2004,
2191
+ options: {
2192
+ port: 3455,
2193
+ port_query_offset: 123,
2194
+ protocol: 'ase'
2195
+ }
2196
+ },
2197
+ palworld: {
2198
+ name: 'Palworld',
2199
+ release_year: 2024,
2200
+ options: {
2201
+ port: 8212,
2202
+ protocol: 'palworld'
2203
+ },
2204
+ extra: {
2205
+ doc_notes: 'palworld'
2206
+ }
2207
+ },
2208
+ pvak2: {
2209
+ name: 'Pirates, Vikings, and Knights II',
2210
+ release_year: 2007,
2211
+ options: {
2212
+ port: 27015,
2213
+ protocol: 'valve'
2214
+ },
2215
+ extra: {
2216
+ old_id: 'pvkii'
2217
+ }
2218
+ },
2219
+ pixark: {
2220
+ name: 'PixARK',
2221
+ release_year: 2018,
2222
+ options: {
2223
+ port: 7777,
2224
+ port_query: 27015,
2225
+ protocol: 'valve'
2226
+ }
2227
+ },
2228
+ postscriptum: {
2229
+ name: 'Post Scriptum',
2230
+ release_year: 2018,
2231
+ options: {
2232
+ port: 10037,
2233
+ protocol: 'valve'
2234
+ },
2235
+ extra: {
2236
+ old_id: 'ps'
2237
+ }
2238
+ },
2239
+ postal2: {
2240
+ name: 'Postal 2',
2241
+ release_year: 2003,
2242
+ options: {
2243
+ port: 7777,
2244
+ port_query_offset: 1,
2245
+ protocol: 'gamespy1'
2246
+ }
2247
+ },
2248
+ prey: {
2249
+ name: 'Prey',
2250
+ release_year: 2017,
2251
+ options: {
2252
+ port: 27719,
2253
+ protocol: 'doom3'
2254
+ }
2255
+ },
2256
+ pce: {
2257
+ name: 'Primal Carnage: Extinction',
2258
+ release_year: 2015,
2259
+ options: {
2260
+ port: 7777,
2261
+ port_query: 27015,
2262
+ protocol: 'valve'
2263
+ },
2264
+ extra: {
2265
+ old_id: 'primalcarnage'
2266
+ }
2267
+ },
2268
+ projectcars: {
2269
+ name: 'Project Cars',
2270
+ release_year: 2015,
2271
+ options: {
2272
+ port: 27015,
2273
+ port_query_offset: 1,
2274
+ protocol: 'valve'
2275
+ },
2276
+ extra: {
2277
+ old_id: 'pc'
2278
+ }
2279
+ },
2280
+ projectcars2: {
2281
+ name: 'Project Cars 2',
2282
+ release_year: 2017,
2283
+ options: {
2284
+ port: 27015,
2285
+ port_query_offset: 1,
2286
+ protocol: 'valve'
2287
+ },
2288
+ extra: {
2289
+ old_id: 'pc2'
2290
+ }
2291
+ },
2292
+ prb2: {
2293
+ name: 'Project Reality: Battlefield 2',
2294
+ release_year: 2005,
2295
+ options: {
2296
+ port: 16567,
2297
+ port_query: 29900,
2298
+ protocol: 'gamespy3'
2299
+ },
2300
+ extra: {
2301
+ old_id: 'prbf2'
2302
+ }
2303
+ },
2304
+ projectzomboid: {
2305
+ name: 'Project Zomboid',
2306
+ release_year: 2013,
2307
+ options: {
2308
+ port: 16261,
2309
+ protocol: 'valve'
2310
+ },
2311
+ extra: {
2312
+ old_id: 'przomboid'
2313
+ }
2314
+ },
2315
+ quake: {
2316
+ name: 'Quake',
2317
+ release_year: 1996,
2318
+ options: {
2319
+ port: 27500,
2320
+ protocol: 'quake1'
2321
+ },
2322
+ extra: {
2323
+ old_id: 'quake1'
2324
+ }
2325
+ },
2326
+ quake2: {
2327
+ name: 'Quake 2',
2328
+ release_year: 1997,
2329
+ options: {
2330
+ port: 27910,
2331
+ protocol: 'quake2'
2332
+ }
2333
+ },
2334
+ q3a: {
2335
+ name: 'Quake 3: Arena',
2336
+ release_year: 1999,
2337
+ options: {
2338
+ port: 27960,
2339
+ protocol: 'quake3'
2340
+ },
2341
+ extra: {
2342
+ old_id: 'quake3'
2343
+ }
2344
+ },
2345
+ quake4: {
2346
+ name: 'Quake 4',
2347
+ release_year: 2005,
2348
+ options: {
2349
+ port: 28004,
2350
+ protocol: 'doom3'
2351
+ }
2352
+ },
2353
+ quakelive: {
2354
+ name: 'Quake Live',
2355
+ release_year: 2010,
2356
+ options: {
2357
+ port: 27960,
2358
+ protocol: 'valve'
2359
+ }
2360
+ },
2361
+ rdkf: {
2362
+ name: 'Rag Doll Kung Fu',
2363
+ release_year: 2005,
2364
+ options: {
2365
+ port: 27015,
2366
+ protocol: 'valve'
2367
+ },
2368
+ extra: {
2369
+ old_id: 'ragdollkungfu'
2370
+ }
2371
+ },
2372
+ rainbowsix: {
2373
+ name: 'Rainbow Six',
2374
+ release_year: 1998,
2375
+ options: {
2376
+ port_query: 2348,
2377
+ protocol: 'gamespy1'
2378
+ },
2379
+ extra: {
2380
+ old_id: 'r6'
2381
+ }
2382
+ },
2383
+ rs2rs: {
2384
+ name: 'Rainbow Six 2: Rogue Spear',
2385
+ release_year: 1999,
2386
+ options: {
2387
+ port_query: 2346,
2388
+ protocol: 'gamespy1'
2389
+ },
2390
+ extra: {
2391
+ old_id: 'r6roguespear'
2392
+ }
2393
+ },
2394
+ rs3rs: {
2395
+ name: 'Rainbow Six 3: Raven Shield',
2396
+ release_year: 2003,
2397
+ options: {
2398
+ port: 7777,
2399
+ port_query_offset: 1000,
2400
+ protocol: 'gamespy1'
2401
+ },
2402
+ extra: {
2403
+ old_id: 'r6ravenshield'
2404
+ }
2405
+ },
2406
+ rallisportchallenge: {
2407
+ name: 'RalliSport Challenge',
2408
+ release_year: 2002,
2409
+ options: {
2410
+ port_query: 17500,
2411
+ protocol: 'gamespy1'
2412
+ }
2413
+ },
2414
+ rallymasters: {
2415
+ name: 'Rally Masters',
2416
+ release_year: 2000,
2417
+ options: {
2418
+ port_query: 16666,
2419
+ protocol: 'gamespy1'
2420
+ }
2421
+ },
2422
+ redorchestra: {
2423
+ name: 'Red Orchestra',
2424
+ release_year: 2018,
2425
+ options: {
2426
+ port: 7758,
2427
+ port_query_offset: 1,
2428
+ protocol: 'unreal2'
2429
+ }
2430
+ },
2431
+ roo4145: {
2432
+ name: 'Red Orchestra: Ostfront 41-45',
2433
+ release_year: 2006,
2434
+ options: {
2435
+ port: 7757,
2436
+ port_query_offset: 10,
2437
+ protocol: 'gamespy1'
2438
+ },
2439
+ extra: {
2440
+ old_id: 'redorchestraost'
2441
+ }
2442
+ },
2443
+ redorchestra2: {
2444
+ name: 'Red Orchestra 2',
2445
+ release_year: 2011,
2446
+ options: {
2447
+ port: 7777,
2448
+ port_query: 27015,
2449
+ protocol: 'valve'
2450
+ }
2451
+ },
2452
+ redline: {
2453
+ name: 'Redline',
2454
+ release_year: 2010,
2455
+ options: {
2456
+ port_query: 25252,
2457
+ protocol: 'gamespy1'
2458
+ }
2459
+ },
2460
+ renegade10: {
2461
+ name: 'Renegade X',
2462
+ release_year: 2014,
2463
+ options: {
2464
+ protocol: 'renegadex'
2465
+ }
2466
+ },
2467
+ renown: {
2468
+ name: 'Renown',
2469
+ release_year: 2025,
2470
+ options: {
2471
+ protocol: 'renown'
2472
+ }
2473
+ },
2474
+ rdr2r: {
2475
+ name: 'Red Dead Redemption 2 - RedM',
2476
+ release_year: 2018,
2477
+ options: {
2478
+ port: 30120,
2479
+ protocol: 'fivem'
2480
+ },
2481
+ extra: {
2482
+ old_id: 'redm'
2483
+ }
2484
+ },
2485
+ rtcw: {
2486
+ name: 'Return to Castle Wolfenstein',
2487
+ release_year: 2001,
2488
+ options: {
2489
+ port_query: 27960,
2490
+ protocol: 'quake3'
2491
+ }
2492
+ },
2493
+ rfactor: {
2494
+ name: 'rFactor',
2495
+ release_year: 2005,
2496
+ options: {
2497
+ port: 34397,
2498
+ port_query_offset: -100,
2499
+ protocol: 'rfactor'
2500
+ }
2501
+ },
2502
+ rfactor2: {
2503
+ name: 'rFactor 2',
2504
+ release_year: 2013,
2505
+ options: {
2506
+ port_query: 64299,
2507
+ protocol: 'valve'
2508
+ }
2509
+ },
2510
+ ricochet: {
2511
+ name: 'Ricochet',
2512
+ release_year: 2005,
2513
+ options: {
2514
+ port: 27015,
2515
+ protocol: 'valve'
2516
+ }
2517
+ },
2518
+ ron: {
2519
+ name: 'Rise of Nations',
2520
+ release_year: 2003,
2521
+ options: {
2522
+ port_query: 6501,
2523
+ protocol: 'gamespy1'
2524
+ },
2525
+ extra: {
2526
+ old_id: 'riseofnations'
2527
+ }
2528
+ },
2529
+ risingworld: {
2530
+ name: 'Rising World',
2531
+ release_year: 2014,
2532
+ options: {
2533
+ port: 4255,
2534
+ port_query_offset: -1,
2535
+ protocol: 'valve'
2536
+ }
2537
+ },
2538
+ ror2: {
2539
+ name: 'Risk of Rain 2',
2540
+ release_year: 2020,
2541
+ options: {
2542
+ port: 27015,
2543
+ port_query_offset: 1,
2544
+ protocol: 'valve'
2545
+ }
2546
+ },
2547
+ rs2v: {
2548
+ name: 'Rising Storm 2: Vietnam',
2549
+ release_year: 2017,
2550
+ options: {
2551
+ port: 27015,
2552
+ protocol: 'valve'
2553
+ },
2554
+ extra: {
2555
+ old_id: 'rs2'
2556
+ }
2557
+ },
2558
+ rune: {
2559
+ name: 'Rune',
2560
+ release_year: 2000,
2561
+ options: {
2562
+ port: 7777,
2563
+ port_query_offset: 1,
2564
+ protocol: 'gamespy1'
2565
+ }
2566
+ },
2567
+ rust: {
2568
+ name: 'Rust',
2569
+ release_year: 2013,
2570
+ options: {
2571
+ port: 28015,
2572
+ protocol: 'valve'
2573
+ }
2574
+ },
2575
+ gtasam: {
2576
+ name: 'Grand Theft Auto: San Andreas Multiplayer',
2577
+ release_year: 2006,
2578
+ options: {
2579
+ port: 7777,
2580
+ protocol: 'samp'
2581
+ },
2582
+ extra: {
2583
+ old_id: 'samp'
2584
+ }
2585
+ },
2586
+ gtasao: {
2587
+ name: 'Grand Theft Auto: San Andreas OpenMP',
2588
+ release_year: 2019,
2589
+ options: {
2590
+ port: 7777,
2591
+ protocol: 'gtasao'
2592
+ },
2593
+ extra: {
2594
+ old_id: 'saomp'
2595
+ }
2596
+ },
2597
+ s2ats: {
2598
+ name: 'Savage 2: A Tortured Soul',
2599
+ release_year: 2008,
2600
+ options: {
2601
+ port_query: 11235,
2602
+ protocol: 'savage2'
2603
+ },
2604
+ extra: {
2605
+ old_id: 'savage2'
2606
+ }
2607
+ },
2608
+ sdtd: {
2609
+ name: '7 Days to Die',
2610
+ release_year: 2013,
2611
+ options: {
2612
+ port: 26900,
2613
+ port_query_offset: 1,
2614
+ protocol: 'sdtd'
2615
+ },
2616
+ extra: {
2617
+ old_id: '7d2d',
2618
+ doc_notes: 'sdtd'
2619
+ }
2620
+ },
2621
+ satisfactory: {
2622
+ name: 'Satisfactory',
2623
+ release_year: 2019,
2624
+ options: {
2625
+ port: 7777,
2626
+ protocol: 'satisfactory'
2627
+ },
2628
+ extra: {
2629
+ doc_notes: 'satisfactory'
2630
+ }
2631
+ },
2632
+ spaceengineers: {
2633
+ name: 'Space Engineers',
2634
+ release_year: 2019,
2635
+ options: {
2636
+ port: 27015,
2637
+ protocol: 'valve'
2638
+ }
2639
+ },
2640
+ serioussam: {
2641
+ name: 'Serious Sam',
2642
+ release_year: 2001,
2643
+ options: {
2644
+ port: 25600,
2645
+ port_query_offset: 1,
2646
+ protocol: 'gamespy1'
2647
+ },
2648
+ extra: {
2649
+ old_id: 'ss'
2650
+ }
2651
+ },
2652
+ serioussam2: {
2653
+ name: 'Serious Sam 2',
2654
+ release_year: 2005,
2655
+ options: {
2656
+ port: 25600,
2657
+ protocol: 'gamespy2'
2658
+ },
2659
+ extra: {
2660
+ old_id: 'ss2'
2661
+ }
2662
+ },
2663
+ shatteredhorizon: {
2664
+ name: 'Shattered Horizon',
2665
+ release_year: 2009,
2666
+ options: {
2667
+ port: 27015,
2668
+ protocol: 'valve'
2669
+ }
2670
+ },
2671
+ sstse: {
2672
+ name: 'Serious Sam: The Second Encounter',
2673
+ release_year: 2002,
2674
+ options: {
2675
+ port: 25600,
2676
+ port_query_offset: 1,
2677
+ protocol: 'gamespy1'
2678
+ }
2679
+ },
2680
+ theship: {
2681
+ name: 'The Ship',
2682
+ release_year: 2006,
2683
+ options: {
2684
+ port: 27015,
2685
+ protocol: 'valve'
2686
+ },
2687
+ extra: {
2688
+ old_id: 'ship'
2689
+ }
2690
+ },
2691
+ shogo: {
2692
+ name: 'Shogo',
2693
+ release_year: 1998,
2694
+ options: {
2695
+ port_query: 27888,
2696
+ protocol: 'gamespy1'
2697
+ }
2698
+ },
2699
+ shootmania: {
2700
+ name: 'Shootmania',
2701
+ release_year: 2013,
2702
+ options: {
2703
+ port: 2350,
2704
+ port_query: 5000,
2705
+ protocol: 'nadeo'
2706
+ },
2707
+ extra: {
2708
+ doc_notes: 'nadeo'
2709
+ }
2710
+ },
2711
+ sin: {
2712
+ name: 'SiN',
2713
+ release_year: 1998,
2714
+ options: {
2715
+ port_query: 22450,
2716
+ protocol: 'gamespy1'
2717
+ }
2718
+ },
2719
+ sinepisodes: {
2720
+ name: 'SiN Episodes',
2721
+ release_year: 2006,
2722
+ options: {
2723
+ port: 27015,
2724
+ protocol: 'valve'
2725
+ },
2726
+ extra: {
2727
+ old_id: 'sinep'
2728
+ }
2729
+ },
2730
+ soldat: {
2731
+ name: 'Soldat',
2732
+ release_year: 2002,
2733
+ options: {
2734
+ port: 23073,
2735
+ port_query_offset: 10,
2736
+ protocol: 'soldat'
2737
+ },
2738
+ extra: {
2739
+ doc_notes: 'soldat'
2740
+ }
2741
+ },
2742
+ sof: {
2743
+ name: 'Soldier of Fortune',
2744
+ release_year: 2000,
2745
+ options: {
2746
+ port: 28910,
2747
+ port_query_offset: 1,
2748
+ protocol: 'gamespy1'
2749
+ }
2750
+ },
2751
+ sof2: {
2752
+ name: 'Soldier of Fortune 2',
2753
+ release_year: 2002,
2754
+ options: {
2755
+ port_query: 20100,
2756
+ protocol: 'quake3'
2757
+ }
2758
+ },
2759
+ sotf: {
2760
+ name: 'Sons Of The Forest',
2761
+ release_year: 2023,
2762
+ options: {
2763
+ port: 8766,
2764
+ port_query: 27016,
2765
+ protocol: 'valve'
2766
+ },
2767
+ extra: {
2768
+ old_id: 'sonsoftheforest'
2769
+ }
2770
+ },
2771
+ soulmask: {
2772
+ name: 'Soulmask',
2773
+ release_year: 2024,
2774
+ options: {
2775
+ port: 8777,
2776
+ port_query: 27015,
2777
+ protocol: 'valve'
2778
+ }
2779
+ },
2780
+ ssl: {
2781
+ name: 'SCP: Secret Labratory',
2782
+ release_year: 2020,
2783
+ options: {
2784
+ protocol: 'scpsl'
2785
+ },
2786
+ extra: {
2787
+ doc_notes: 'ssl'
2788
+ }
2789
+ },
2790
+ stalker: {
2791
+ name: 'S.T.A.L.K.E.R.',
2792
+ release_year: 2007,
2793
+ options: {
2794
+ port: 5445,
2795
+ port_query_offset: 2,
2796
+ protocol: 'gamespy3'
2797
+ }
2798
+ },
2799
+ stn: {
2800
+ name: 'Survive the Nights',
2801
+ release_year: 2017,
2802
+ options: {
2803
+ port: 7950,
2804
+ port_query_offset: 1,
2805
+ protocol: 'valve'
2806
+ }
2807
+ },
2808
+ stbc: {
2809
+ name: 'Star Trek: Bridge Commander',
2810
+ release_year: 2002,
2811
+ options: {
2812
+ port_query: 22101,
2813
+ protocol: 'gamespy1'
2814
+ }
2815
+ },
2816
+ stvef: {
2817
+ name: 'Star Trek: Voyager - Elite Force',
2818
+ release_year: 2000,
2819
+ options: {
2820
+ port_query: 27960,
2821
+ protocol: 'quake3'
2822
+ }
2823
+ },
2824
+ stvef2: {
2825
+ name: 'Star Trek: Voyager - Elite Force 2',
2826
+ release_year: 2003,
2827
+ options: {
2828
+ port_query: 29253,
2829
+ protocol: 'quake3'
2830
+ }
2831
+ },
2832
+ squad: {
2833
+ name: 'Squad',
2834
+ release_year: 2020,
2835
+ options: {
2836
+ port: 7787,
2837
+ protocol: 'squad'
2838
+ }
2839
+ },
2840
+ swb: {
2841
+ name: 'Star Wars: Battlefront',
2842
+ release_year: 2004,
2843
+ options: {
2844
+ port_query: 3658,
2845
+ protocol: 'gamespy2'
2846
+ },
2847
+ extra: {
2848
+ old_id: 'swbf'
2849
+ }
2850
+ },
2851
+ swb2: {
2852
+ name: 'Star Wars: Battlefront 2',
2853
+ release_year: 2005,
2854
+ options: {
2855
+ port_query: 3658,
2856
+ protocol: 'gamespy2'
2857
+ },
2858
+ extra: {
2859
+ old_id: 'swbf2'
2860
+ }
2861
+ },
2862
+ swjkja: {
2863
+ name: 'Star Wars Jedi Knight: Jedi Academy',
2864
+ release_year: 2003,
2865
+ options: {
2866
+ port_query: 29070,
2867
+ protocol: 'quake3'
2868
+ },
2869
+ extra: {
2870
+ old_id: 'swjk'
2871
+ }
2872
+ },
2873
+ swjk2jo: {
2874
+ name: 'Star Wars Jedi Knight II: Jedi Outcast',
2875
+ release_year: 2002,
2876
+ options: {
2877
+ port_query: 28070,
2878
+ protocol: 'quake3'
2879
+ },
2880
+ extra: {
2881
+ old_id: 'swjk2'
2882
+ }
2883
+ },
2884
+ swrc: {
2885
+ name: 'Star Wars: Republic Commando',
2886
+ release_year: 2005,
2887
+ options: {
2888
+ port: 7777,
2889
+ port_query: 11138,
2890
+ protocol: 'gamespy2'
2891
+ }
2892
+ },
2893
+ starbound: {
2894
+ name: 'Starbound',
2895
+ release_year: 2016,
2896
+ options: {
2897
+ port: 21025,
2898
+ protocol: 'valve'
2899
+ }
2900
+ },
2901
+ starmade: {
2902
+ name: 'StarMade',
2903
+ release_year: 2012,
2904
+ options: {
2905
+ port: 4242,
2906
+ protocol: 'starmade'
2907
+ }
2908
+ },
2909
+ starsiege: {
2910
+ name: 'Starsiege',
2911
+ release_year: 2009,
2912
+ options: {
2913
+ port: 29001,
2914
+ protocol: 'starsiege'
2915
+ }
2916
+ },
2917
+ suicidesurvival: {
2918
+ name: 'Suicide Survival',
2919
+ release_year: 2008,
2920
+ options: {
2921
+ port: 27015,
2922
+ protocol: 'valve'
2923
+ }
2924
+ },
2925
+ swat4: {
2926
+ name: 'SWAT 4',
2927
+ release_year: 2005,
2928
+ options: {
2929
+ port: 10480,
2930
+ port_query_offset: 2,
2931
+ protocol: 'gamespy2'
2932
+ }
2933
+ },
2934
+ svencoop: {
2935
+ name: 'Sven Coop',
2936
+ release_year: 1999,
2937
+ options: {
2938
+ port: 27015,
2939
+ protocol: 'valve'
2940
+ }
2941
+ },
2942
+ synergy: {
2943
+ name: 'Synergy',
2944
+ release_year: 2005,
2945
+ options: {
2946
+ port: 27015,
2947
+ protocol: 'valve'
2948
+ }
2949
+ },
2950
+ tacticalops: {
2951
+ name: 'Tactical Ops',
2952
+ release_year: 1999,
2953
+ options: {
2954
+ port: 7777,
2955
+ port_query_offset: 1,
2956
+ protocol: 'gamespy1'
2957
+ }
2958
+ },
2959
+ toh: {
2960
+ name: 'Take On Helicopters',
2961
+ release_year: 2011,
2962
+ options: {
2963
+ port: 2302,
2964
+ port_query_offset: 1,
2965
+ protocol: 'gamespy1'
2966
+ },
2967
+ extra: {
2968
+ old_id: 'takeonhelicopters'
2969
+ }
2970
+ },
2971
+ teamfactor: {
2972
+ name: 'Team Factor',
2973
+ release_year: 2002,
2974
+ options: {
2975
+ port_query: 57778,
2976
+ protocol: 'gamespy1'
2977
+ }
2978
+ },
2979
+ tfc: {
2980
+ name: 'Team Fortress Classic',
2981
+ release_year: 1999,
2982
+ options: {
2983
+ port: 27015,
2984
+ protocol: 'valve'
2985
+ }
2986
+ },
2987
+ teamfortress2: {
2988
+ name: 'Team Fortress 2',
2989
+ release_year: 2007,
2990
+ options: {
2991
+ port: 27015,
2992
+ protocol: 'valve'
2993
+ },
2994
+ extra: {
2995
+ old_id: 'tf2'
2996
+ }
2997
+ },
2998
+ teamspeak2: {
2999
+ name: 'Teamspeak 2',
3000
+ release_year: 2001,
3001
+ options: {
3002
+ port: 8767,
3003
+ protocol: 'teamspeak2'
3004
+ }
3005
+ },
3006
+ teamspeak3: {
3007
+ name: 'Teamspeak 3',
3008
+ release_year: 2011,
3009
+ options: {
3010
+ port: 9987,
3011
+ protocol: 'teamspeak3'
3012
+ },
3013
+ extra: {
3014
+ doc_notes: 'teamspeak3'
3015
+ }
3016
+ },
3017
+ terminus: {
3018
+ name: 'Terminus',
3019
+ release_year: 2000,
3020
+ options: {
3021
+ port_query: 12286,
3022
+ protocol: 'gamespy1'
3023
+ }
3024
+ },
3025
+ terrariatshock: {
3026
+ name: 'Terraria - TShock',
3027
+ release_year: 2011,
3028
+ options: {
3029
+ port: 7777,
3030
+ port_query_offset: 101,
3031
+ protocol: 'terraria'
3032
+ },
3033
+ extra: {
3034
+ old_id: 'terraria',
3035
+ doc_notes: 'terraria'
3036
+ }
3037
+ },
3038
+ theforest: {
3039
+ name: 'The Forest',
3040
+ release_year: 2014,
3041
+ options: {
3042
+ port: 27015,
3043
+ port_query_offset: 1,
3044
+ protocol: 'valve'
3045
+ },
3046
+ extra: {
3047
+ old_id: 'forrest'
3048
+ }
3049
+ },
3050
+ thefront: {
3051
+ name: 'The Front',
3052
+ release_year: 2023,
3053
+ options: {
3054
+ port_query: 27015,
3055
+ protocol: 'valve'
3056
+ }
3057
+ },
3058
+ thps3: {
3059
+ name: "Tony Hawk's Pro Skater 3",
3060
+ release_year: 2001,
3061
+ options: {
3062
+ port_query: 6500,
3063
+ protocol: 'gamespy1'
3064
+ }
3065
+ },
3066
+ thps4: {
3067
+ name: "Tony Hawk's Pro Skater 4",
3068
+ release_year: 2002,
3069
+ options: {
3070
+ port_query: 6500,
3071
+ protocol: 'gamespy1'
3072
+ }
3073
+ },
3074
+ thu2: {
3075
+ name: "Tony Hawk's Underground 2",
3076
+ release_year: 2004,
3077
+ options: {
3078
+ port_query: 5153,
3079
+ protocol: 'gamespy1'
3080
+ }
3081
+ },
3082
+ towerunite: {
3083
+ name: 'Tower Unite',
3084
+ release_year: 2016,
3085
+ options: {
3086
+ port: 27015,
3087
+ protocol: 'valve'
3088
+ }
3089
+ },
3090
+ trackmania2: {
3091
+ name: 'Trackmania 2',
3092
+ release_year: 2011,
3093
+ options: {
3094
+ port: 2350,
3095
+ port_query: 5000,
3096
+ protocol: 'nadeo'
3097
+ },
3098
+ extra: {
3099
+ doc_notes: 'nadeo'
3100
+ }
3101
+ },
3102
+ trackmaniaforever: {
3103
+ name: 'Trackmania Forever',
3104
+ release_year: 2008,
3105
+ options: {
3106
+ port: 2350,
3107
+ port_query: 5000,
3108
+ protocol: 'nadeo'
3109
+ },
3110
+ extra: {
3111
+ doc_notes: 'nadeo'
3112
+ }
3113
+ },
3114
+ tremulous: {
3115
+ name: 'Tremulous',
3116
+ release_year: 2006,
3117
+ options: {
3118
+ port_query: 30720,
3119
+ protocol: 'quake3'
3120
+ }
3121
+ },
3122
+ t1s: {
3123
+ name: 'Tribes 1: Starsiege',
3124
+ release_year: 1998,
3125
+ options: {
3126
+ port: 28001,
3127
+ protocol: 'tribes1'
3128
+ },
3129
+ extra: {
3130
+ old_id: 'tribes1'
3131
+ }
3132
+ },
3133
+ tribesvengeance: {
3134
+ name: 'Tribes: Vengeance',
3135
+ release_year: 2004,
3136
+ options: {
3137
+ port: 7777,
3138
+ port_query_offset: 1,
3139
+ protocol: 'gamespy2'
3140
+ }
3141
+ },
3142
+ tron20: {
3143
+ name: 'Tron 2.0',
3144
+ release_year: 2003,
3145
+ options: {
3146
+ port_query: 27888,
3147
+ protocol: 'gamespy2'
3148
+ }
3149
+ },
3150
+ thespecialists: {
3151
+ name: 'The Specialists',
3152
+ release_year: 2002,
3153
+ options: {
3154
+ port: 27015,
3155
+ protocol: 'valve'
3156
+ }
3157
+ },
3158
+ toxikk: {
3159
+ name: 'TOXIKK',
3160
+ release_year: 2016,
3161
+ options: {
3162
+ port: 7777,
3163
+ port_query: 27015,
3164
+ protocol: 'toxikk'
3165
+ }
3166
+ },
3167
+ turok2: {
3168
+ name: 'Turok 2',
3169
+ release_year: 1998,
3170
+ options: {
3171
+ port_query: 12880,
3172
+ protocol: 'gamespy1'
3173
+ }
3174
+ },
3175
+ u2tax: {
3176
+ name: 'Unreal 2: The Awakening - XMP',
3177
+ release_year: 2003,
3178
+ options: {
3179
+ port: 7777,
3180
+ port_query_offset: 1,
3181
+ protocol: 'unreal2'
3182
+ }
3183
+ },
3184
+ universalcombat: {
3185
+ name: 'Universal Combat',
3186
+ release_year: 2004,
3187
+ options: {
3188
+ port: 1135,
3189
+ port_query_offset: 123,
3190
+ protocol: 'ase'
3191
+ }
3192
+ },
3193
+ unreal: {
3194
+ name: 'Unreal',
3195
+ release_year: 1998,
3196
+ options: {
3197
+ port: 7777,
3198
+ port_query_offset: 1,
3199
+ protocol: 'gamespy1'
3200
+ }
3201
+ },
3202
+ unturned: {
3203
+ name: 'unturned',
3204
+ release_year: 2014,
3205
+ options: {
3206
+ port: 27015,
3207
+ port_query_offset: 1,
3208
+ protocol: 'valve'
3209
+ }
3210
+ },
3211
+ unrealtournament: {
3212
+ name: 'Unreal Tournament',
3213
+ release_year: 1993,
3214
+ options: {
3215
+ port: 7777,
3216
+ port_query_offset: 1,
3217
+ protocol: 'gamespy1'
3218
+ },
3219
+ extra: {
3220
+ old_id: 'ut'
3221
+ }
3222
+ },
3223
+ unrealtournament2003: {
3224
+ name: 'Unreal Tournament 2003',
3225
+ release_year: 2003,
3226
+ options: {
3227
+ port: 7757,
3228
+ port_query_offset: 1,
3229
+ protocol: 'unreal2'
3230
+ },
3231
+ extra: {
3232
+ old_id: 'ut2003'
3233
+ }
3234
+ },
3235
+ unrealtournament2004: {
3236
+ name: 'Unreal Tournament 2004',
3237
+ release_year: 2004,
3238
+ options: {
3239
+ port: 7777,
3240
+ port_query_offset: 1,
3241
+ protocol: 'unreal2'
3242
+ },
3243
+ extra: {
3244
+ old_id: 'ut2004'
3245
+ }
3246
+ },
3247
+ unrealtournament3: {
3248
+ name: 'Unreal Tournament 3',
3249
+ release_year: 2007,
3250
+ options: {
3251
+ port: 7777,
3252
+ port_query_offset: -1277,
3253
+ protocol: 'ut3'
3254
+ },
3255
+ extra: {
3256
+ old_id: 'ut3'
3257
+ }
3258
+ },
3259
+ urbanterror: {
3260
+ name: 'Urban Terror',
3261
+ release_year: 2000,
3262
+ options: {
3263
+ port_query: 27960,
3264
+ protocol: 'quake3'
3265
+ }
3266
+ },
3267
+ v8sc: {
3268
+ name: 'V8 Supercar Challenge',
3269
+ release_year: 2002,
3270
+ options: {
3271
+ port_query: 16700,
3272
+ protocol: 'gamespy1'
3273
+ },
3274
+ extra: {
3275
+ old_id: 'v8supercar'
3276
+ }
3277
+ },
3278
+ valheim: {
3279
+ name: 'Valheim',
3280
+ release_year: 2021,
3281
+ options: {
3282
+ port: 2456,
3283
+ port_query_offset: 1,
3284
+ protocol: 'valve'
3285
+ },
3286
+ extra: {
3287
+ doc_notes: 'valheim'
3288
+ }
3289
+ },
3290
+ vcm: {
3291
+ name: 'Vice City Multiplayer',
3292
+ release_year: 2015,
3293
+ options: {
3294
+ port: 8192,
3295
+ protocol: 'vcmp'
3296
+ },
3297
+ extra: {
3298
+ old_id: 'vcmp'
3299
+ }
3300
+ },
3301
+ ventrilo: {
3302
+ name: 'Ventrilo',
3303
+ release_year: 2002,
3304
+ options: {
3305
+ port: 3784,
3306
+ protocol: 'ventrilo'
3307
+ }
3308
+ },
3309
+ vietcong: {
3310
+ name: 'Vietcong',
3311
+ release_year: 2003,
3312
+ options: {
3313
+ port: 5425,
3314
+ port_query: 15425,
3315
+ protocol: 'gamespy1'
3316
+ }
3317
+ },
3318
+ vietcong2: {
3319
+ name: 'Vietcong 2',
3320
+ release_year: 2005,
3321
+ options: {
3322
+ port: 5001,
3323
+ port_query: 19967,
3324
+ protocol: 'gamespy2'
3325
+ }
3326
+ },
3327
+ vrising: {
3328
+ name: 'V Rising',
3329
+ release_year: 2022,
3330
+ options: {
3331
+ port: 27015,
3332
+ port_query_offset: [1, 15],
3333
+ protocol: 'valve'
3334
+ }
3335
+ },
3336
+ vampireslayer: {
3337
+ name: 'Vampire Slayer',
3338
+ release_year: 2000,
3339
+ options: {
3340
+ port: 27015,
3341
+ protocol: 'valve'
3342
+ },
3343
+ extra: {
3344
+ old_id: 'vs'
3345
+ }
3346
+ },
3347
+ vintagestory: {
3348
+ name: 'Vintage Story',
3349
+ release_year: 2016,
3350
+ options: {
3351
+ port: 42420,
3352
+ protocol: 'vintagestory'
3353
+ }
3354
+ },
3355
+ warsow: {
3356
+ name: 'Warsow',
3357
+ release_year: 2012,
3358
+ options: {
3359
+ port: 44400,
3360
+ protocol: 'warsow'
3361
+ }
3362
+ },
3363
+ warfork: {
3364
+ name: 'Warfork',
3365
+ release_year: 2019,
3366
+ options: {
3367
+ port_query: 44400,
3368
+ protocol: 'warsow'
3369
+ }
3370
+ },
3371
+ wot: {
3372
+ name: 'Wheel of Time',
3373
+ release_year: 1999,
3374
+ options: {
3375
+ port: 7777,
3376
+ port_query_offset: 1,
3377
+ protocol: 'gamespy1'
3378
+ },
3379
+ extra: {
3380
+ old_id: 'wheeloftime'
3381
+ }
3382
+ },
3383
+ wolfenstein: {
3384
+ name: 'Wolfenstein',
3385
+ release_year: 2009,
3386
+ options: {
3387
+ port: 27666,
3388
+ protocol: 'doom3'
3389
+ },
3390
+ extra: {
3391
+ old_id: 'wolfenstein2009'
3392
+ }
3393
+ },
3394
+ wet: {
3395
+ name: 'Wolfenstein: Enemy Territory',
3396
+ release_year: 2003,
3397
+ options: {
3398
+ port_query: 27960,
3399
+ protocol: 'quake3'
3400
+ },
3401
+ extra: {
3402
+ old_id: 'wolfensteinet'
3403
+ }
3404
+ },
3405
+ wurmunlimited: {
3406
+ name: 'Wurm Unlimited',
3407
+ release_year: 2006,
3408
+ options: {
3409
+ port: 3724,
3410
+ port_query: 27016,
3411
+ protocol: 'valve'
3412
+ },
3413
+ extra: {
3414
+ old_id: 'wurm'
3415
+ }
3416
+ },
3417
+ xonotic: {
3418
+ name: 'Xonotic',
3419
+ release_year: 2011,
3420
+ options: {
3421
+ port: 26000,
3422
+ protocol: 'xonotic'
3423
+ }
3424
+ },
3425
+ wop: {
3426
+ name: 'World Of Padman',
3427
+ release_year: 2007,
3428
+ options: {
3429
+ port: 26000,
3430
+ protocol: 'quake3'
3431
+ }
3432
+ },
3433
+ xpandrally: {
3434
+ name: 'Xpand Rally',
3435
+ release_year: 2004,
3436
+ options: {
3437
+ port: 28015,
3438
+ port_query_offset: 123,
3439
+ protocol: 'ase'
3440
+ }
3441
+ },
3442
+ zombiemaster: {
3443
+ name: 'Zombie Master',
3444
+ release_year: 2007,
3445
+ options: {
3446
+ port: 27015,
3447
+ protocol: 'valve'
3448
+ }
3449
+ },
3450
+ zps: {
3451
+ name: 'Zombie Panic: Source',
3452
+ release_year: 2007,
3453
+ options: {
3454
+ port: 27015,
3455
+ protocol: 'valve'
3456
+ }
3457
+ }
3458
+ }