Commit graph

268 commits

Author SHA1 Message Date
Thomas Koetsier
1b2345fa02
feat(protocol/hytale): add support for Hytale servers (#750)
Add protocol implementation for querying Hytale game servers using
the Nitrado Query API endpoint. The protocol uses HTTPS with HTTP
fallback to fetch server information including name, version, player
count, and map.

Example:
  $ gamedig --type hytale play.hyfyve.net:5523

  {
    "name": "Hytale Server",
    "map": "default",
    "version": "2026.01.13-dcad8778f",
    "maxplayers": 100,
    "numplayers": 1,
    "connect": "play.hyfyve.net:5523"
  }

Co-authored-by: Thomas Koetsier <thomaskoetsier@Thomass-MacBook-Air.local>
2026-02-03 00:57:27 +02:00
cetteup
3f1a06638f
fix(protocol/gamespy1): ignore stale player list entries (#744)
closes #743
2025-11-16 17:47:29 +02:00
CosminPerRam
b37acf062a
fix(games/asa): add wildcard option to eos usage (#739)
* fix(games/asa): add wildcard option to eos usage

* docs: add CHANGELOG.md line
2025-09-15 14:33:01 +03:00
Keith
87f7c09705
feat: update squad support to eos (#731) 2025-09-02 14:55:22 +03:00
CosminPerRam
7823b2da12
fix(core): reassign version to make sure the type is string (#735)
* fix(core): reassign version to make sure the type is string

* docs: update CHANGELOG.md

* docs: update CHANGELOG.md
2025-09-01 22:58:04 +03:00
CosminPerRam
27709572c9
fix(protocols/beammp): not matching on given port (#730)
* fix(protocols/beammp): not matching on port

* chore: eslint

* docs: update CHANGELOG.md

* fix: some other cases

* fix: sorting on array contaning numbers and other forms of none
2025-08-28 16:09:28 +03:00
yellowfromseegg
d7e9bba3cf
fix(game/farmingsimulator): handle possible missing mod attribute (#723)
Fixed Problem with vanilla servers. when no mods are activated on the server the mod part is missing in the xml. (https://github.com/gamedig/node-gamedig/issues/722)
2025-07-29 10:23:05 +03:00
CosminPerRam
4645738699 fix(telnet): use socketTimeout option for connect and exec 2025-06-29 18:34:47 +03:00
CosminPerRam
f2dfb8134f
feat(games): add SCP:SL support (#715)
* feat(games): add scpsl initial impl

* feat: add name

* feat: add game entry, add note

* docs: add SSL to games_list.md

* fix: remove stray debug console log

* docs: update CHANGELOG.md
2025-06-29 18:02:38 +03:00
cetteup
bab3452047
fix(protocol/battlefield): detect BFBC2 Vietnam DLC as BFBC2 (#713)
closes #712
2025-06-16 21:58:33 +03:00
CosminPerRam
c671d5ddf2 chore(protocol/gamespy3): replace if condition many ors with includes 2025-06-09 23:28:29 +03:00
CosminPerRam
7c774ac403 chore(protocol/battlefield): replace if condition many ors with includes 2025-06-09 23:24:31 +03:00
CosminPerRam
da78c84c03
fix(core): throwing in tcpSend onData callback would crash (#705)
* fix(core): throwing in tcpSend onData callback would crash

* docs: update changelog for these changes
2025-06-02 00:30:22 +03:00
cetteup
c5d64dedcb
fix(protocol/battlefield): skip non-response packets (#704) 2025-06-01 18:23:04 +03:00
Kai
053c608694
feat(protocol/openttd): update for ^12.0 (#695)
* update for OpenTTD^12.1

https://github.com/gamedig/node-gamedig/issues/265
- rewritten parser (by current version of network_query.cpp)
- changed to TCP
- tested with OpenTTD 14.1

* fixed some typo

- fixed typo and consistence of output
- added ticks counting for older versions
- fixed date offset
2025-05-09 23:45:35 +03:00
CosminPerRam
a3fca5d590
feat(protocol/sdtd): add optional more data via telnet (#697)
* feat(protocol/sdtd): add optional more data via telnet

* docs: update CHANGELOG.md

* feat: some refactoring

* feat: add hordeDay to raw

* docs: mention what extra data it is

* docs: formatting
2025-05-06 10:53:30 +03:00
CosminPerRam
b9767ab99d fix(protocols/sdtd): commands would end up missing the first line 2025-05-05 22:22:58 +03:00
CosminPerRam
71ce074866
feat(protocols/sdtd): add telnet support for players (#692)
* feat(protocols/sdtd): add telnet support

* docs: update CHANGELOG.md
2025-04-27 17:06:23 +03:00
CosminPerRam
e24e9d0a9e
fix(core/http): remove got internal retry (#690)
* fix(core/http): remove got internal retry

* feat(protocol/brokeprotocolmaster): remove repeated default options in http request

* docs: add changelog line

* docs: credit contributor for the bug find
2025-04-26 15:23:30 +03:00
CosminPerRam
6821e664b0
feat(protocol/brokeprotocol): replace explicit got usage (#689)
* feat(protocols/brokeprotocol): replace explicit got usage

* dont overcomplicate things, it should always be ok

* docs: fix return type for checkApi

* feat: restore limit 0
2025-04-26 15:06:49 +03:00
James Causon
47c9182bed
feat: replace cheerio and update build-and-shoot (#683)
* Implement fast-xml-parser replacing cheerio for farmingsim

* Add extra player raw fields

* Update buildandshoot for server 0.75 which uses json.

* Remove cheerio

* Add changelog entry

* Add notes for build and shoot query server

* Update CHANGELOG.md

* Update package.json to fix version

* Update buildandshoot.js

* update lock

* Add specific key and value to bas config in note

* Add spacing for import

* Run eslint on bas protocol

* Use includes for check. Add doc notes to games.js

* Updates GAMES_LIST.md

* fix: support stable and master

* attempt to manually fix conflict

* fix players

* fix fx

* Update CHANGELOG.md

---------

Co-authored-by: CosminPerRam <cosmin.p@live.com>
2025-04-25 23:57:04 +03:00
GoodDays13
58f045dd36
fix(protocols/terraria): add missing maxplayers (and raw) to terraria protocol (#686)
* Add maxplayers to terraria protocol

* Update CHANGELOG.md

* Add raw to terraria state

It returns multiple versions, so instead of choosing one I decided to do this.

* Update CHANGELOG.md
2025-04-22 23:23:50 +03:00
Anthony
099f7107cf
feat: Renown add support (#684)
* add renown support

* add changelog entry
2025-03-22 22:25:41 +02:00
CosminPerRam
e6b959a4d7
feat(game/farmingsimulator): add response to raw object (#682)
* feat(game/farmingsimulator): add response to raw object

* docs: add changelog line
2025-03-19 00:16:47 +02:00
HJ
f0c3b76bc5
fix(protocols/minetest): rename ip to address (#678)
* Update minetest protocol

Minetest changed property name in list

* changelog
2025-02-26 22:14:56 +02:00
CosminPerRam
467606f6a6
fix(gta5f): wrap query of players in a catch (#674)
* feat: wrap query of players in a catch

* docs: add note about how to make players query get through

* docs: update CHANGELOG.md

* docs: add comment regarding adding requestPlayers and requestPlayersRequired eventually
2025-02-09 19:32:18 +02:00
CosminPerRam
56a90eabce
fix: Nadeo failing queries on map info (#667)
* fix: nadeo failing queries

* docs: update changelog, fix games list issue not being hyperlinked

* feat: Adding CurrentChallengeInfo to get Map Informations (#669)

Co-authored-by: Stephan Schaffner <stephan.schaffner@check24.de>

* docs: remove note removal notice from games_list

* docs: update changelog to note for version

* docs: mention @Hornochs in the changelog line

* chore: swap some lines around

---------

Co-authored-by: Stephan Schaffner <chaos_bloated856@memehorst.de>
Co-authored-by: Stephan Schaffner <stephan.schaffner@check24.de>
2025-01-21 19:40:49 +02:00
CosminPerRam
a62f623134
fix: palworld not respecting response schema (#666)
* fix: palworld not respecting schema

* docs: add number to changelog
2025-01-21 19:30:01 +02:00
James Causon
0ad23aa1a4
fix: Use cp tag for accurate rust player count (#663)
* Use cp tag for accurate rust playercount

* Add changelog entry
2025-01-04 23:03:49 +02:00
CosminPerRam
5391daf6b7
fix: minecraft name being duplicated in the string (#656) 2024-11-15 15:04:11 +02:00
CosminPerRam
f5899fd54d
feat(games/satisfactory): pass optional token, make http query not required (#653)
* feat: let the user provide a token to skip PasswordlessLogin

* feat: make querying the HTTP api not required

* docs: add to changelog, note query priority

* fix: passing rejectUnauthorized as arg made it string, ignoring its value
2024-10-16 22:40:06 +03:00
CosminPerRam
5b1da1ad71
feat: Satisfactory add lightweight query (#652)
* feat: add lightweight query

* docs: update CHANGELOG
2024-10-14 00:28:19 +03:00
RattleSN4K3
899a39a393
feat: add BROKE PROTOCOL support (#651)
* Add support for BROKE PROTOCOL, querying master server

Plus support for master query through separate protocol

* Define json response via schema, optional data validation with Ajv (commented out)

* Fallback query from game data server listing (servers.json)

* docs: update CHANGELOG and GAMES_LIST for Broke Protocol
2024-10-13 17:21:19 +03:00
RattleSN4K3
d2397b67e7
feat: add Hawakening support (#648)
* Add support for Hawakening, querying master server

* Outsource backend calls into Api class

* Define json response via schema, optional data validation with Ajv (commented out)

* Add support for Hawakening master query through separate protocol

Protocol 'hawakeningmaster' provides full list of processed server info

* docs: update CHANGELOG and GAMES_LIST for Hawakening

* Additional API check + cleanup

* Allowing public/non-authorized master server query for Hawkening severs

* Fix: Reference the master protocol correctly in docs/games_list

* Reorganized code file, moved schema and API-class to the end
2024-10-12 17:51:56 +03:00
RattleSN4K3
fe9d4f2cfc
feat: add Renegade X support (#643) 2024-10-04 10:42:43 +03:00
Smidy
b3947164d3
feat: Add Satisfactory support (#645)
* feat: Added Satisfactory Protocol and Support

* fix: Reordering Alphabetically

* Further Updates based on Feedback

* Removed Duplicate Code

* Adding rejectUnauthorized option for Satisfactory

* Move rejectUnauthorized back to Protocol

* Adding Doc Notes for Satisfactory

* Made Docs Clearer
2024-10-01 10:23:07 +03:00
RattleSN4K3
39d7f06bd9
feat: add Toxikk support (#641)
* Add support for Toxikk, using Valve protocol plus UnrealEngine3 rules parsing

* docs: update CHANGELOG for Toxikk

* docs: update GAMES_LIST for Toxikk
2024-09-28 02:39:14 +03:00
CosminPerRam
c77ca299b0
feat: update Soldat protocol (#642)
* feat: add Soldat support

* feat: update protocol in games.js and CHANGELOG

* feat: add gamemode in the raw object

* remove debug console log

* misspell

* docs: add server config requirements

* fix games list formatting issue

* fix: players list
2024-09-25 18:56:15 +03:00
CosminPerRam
e74ae933b3
feat: add requestPlayers option (#624)
* feat: add  option

* docs: alter readme
2024-09-01 16:13:03 +03:00
CosminPerRam
cb73ccd260 feat: quake2 protocol's version field, look for 'version' in the raw object
Observed while looking on #619
2024-08-31 02:08:59 +03:00
CosminPerRam
60c3990c7c
fix: registerRTT would break successful queries (#610)
* revert commit

* revert core registerRTT

* revert "revert commit"

* making this simpler

* changelog
2024-08-19 18:51:21 +03:00
CosminPerRam
dcd12d0360
feat: add vintage story support (#606)
* feat: add vintage story support

* remove debug console.log
2024-08-13 11:56:28 +03:00
CosminPerRam
b6ac839162
fix: minecraft vanilla top level description text and mixed cases (#599)
* fix: minecraft vanilla top level description text

* i have minecraft description strings

this should be tested....

* feat: better minecraft name composure
2024-08-11 14:37:54 +03:00
dayrain
9e83681cee
feat: add a rules bytes return for valve protocol (#597)
* feat: added a rules bytes return for valve protocol

* chore: add changelog
2024-08-05 13:16:45 +03:00
CosminPerRam
c5f8ec521d
fix: minecraft velocity name with multiple layers of color encoding (#595)
* fix: minecraft velocity recursive name

* chore: update CHANGELOG.md

* feat: remove obvious (?) condition

* feat: simplify using javascript code moment
2024-07-29 13:52:12 +03:00
James Causon
bdb819d0f8
feat: Add support for AltvMP (#588)
* feat: Add Minetest support using serverlist

* Allow for connect to be assigned,

* Add serverId to the string args

* Add altvmp implementation

* Added altv to games.

* Add changelog entry

* Update CHANGELOG.md with state.connect
2024-07-17 18:10:06 +03:00
CosminPerRam
8a968c006c perf(games/assettocorsa): replace parseInt with Math.floor 2024-07-07 20:50:48 +03:00
CosminPerRam
402be8a357
fix: assetto corsa failing all queries due to undefined (#584) 2024-07-07 20:35:08 +03:00
CosminPerRam
a5187f70f9 chore: run eslint --fix 2024-06-29 23:27:19 +03:00
CosminPerRam
5210f523b4
fix: xonotic player names being reported as numbers (#580)
* fix: xonotic player names being reported as numbers

* changelog
2024-06-29 21:25:58 +03:00