mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-05-06 15:27:28 +00:00
chore: maintenance (#233)
This commit is contained in:
commit
c04f442bbe
16 changed files with 187 additions and 196 deletions
8
.github/.act-event.json
vendored
8
.github/.act-event.json
vendored
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"act": true,
|
||||
"repository": {
|
||||
"default_branch": "main"
|
||||
}
|
||||
"act": true,
|
||||
"repository": {
|
||||
"default_branch": "main"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
6
.github/workflows/audit.yml
vendored
6
.github/workflows/audit.yml
vendored
|
|
@ -3,8 +3,8 @@ name: Security audit
|
|||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**/Cargo.toml'
|
||||
- '**/Cargo.lock'
|
||||
- "**/Cargo.toml"
|
||||
- "**/Cargo.lock"
|
||||
jobs:
|
||||
security_audit:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -15,6 +15,6 @@ jobs:
|
|||
run: cargo generate-lockfile
|
||||
|
||||
- name: Audit Check
|
||||
- uses: rustsec/audit-check@v2.0.0
|
||||
uses: rustsec/audit-check@v2.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
20
.github/workflows/ci.yml
vendored
20
.github/workflows/ci.yml
vendored
|
|
@ -3,14 +3,14 @@ name: CI
|
|||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- "**.rs" # Any rust file
|
||||
- "**/Cargo.toml" # Any Cargo.toml
|
||||
- ".rustfmt.toml"
|
||||
- ".github/workflows/ci.yml" # This action
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- "**.rs" # Any rust file
|
||||
- "**/Cargo.toml" # Any Cargo.toml
|
||||
|
|
@ -51,7 +51,7 @@ jobs:
|
|||
# If we were able to build then test different feature combinations compile with the library
|
||||
build_lib:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ "build_first" ]
|
||||
needs: ["build_first"]
|
||||
# Only run if library files were modified
|
||||
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
||||
strategy:
|
||||
|
|
@ -69,7 +69,7 @@ jobs:
|
|||
- build_type: "--no-default-features --features game_defs"
|
||||
build_name: "Just Game definitions"
|
||||
- build_type: "--no-default-features --features serde"
|
||||
build_name: "Just serde"
|
||||
build_name: "Just serde"
|
||||
name: "Build library ${{ matrix.build_name }}"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
@ -84,7 +84,7 @@ jobs:
|
|||
# If we were able to build then test different feature combinations compile with the CLI
|
||||
build_cli:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ "build_first" ]
|
||||
needs: ["build_first"]
|
||||
# Only run if CLI files were modified
|
||||
if: ${{ needs.build_first.outputs.cli == 'true' }}
|
||||
strategy:
|
||||
|
|
@ -104,13 +104,13 @@ jobs:
|
|||
cache-targets: false
|
||||
save-if: false
|
||||
- name: Run Build
|
||||
run: cargo check -p gamedig-cli --verbose --bins --examples --tests ${{ matrix.build_type }}
|
||||
run: cargo check -p gamedig_cli --verbose --bins --examples --tests ${{ matrix.build_type }}
|
||||
|
||||
# If we were able to build then test the MSRV compiles (for the libary as not enforced for CLI)
|
||||
build_msrv:
|
||||
name: "Build using MSRV (lib only)"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ "build_first" ]
|
||||
needs: ["build_first"]
|
||||
# Only run if library files were modified
|
||||
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
||||
# Unfortunate hard-coding of rustup directory so that rust-cache caches it
|
||||
|
|
@ -128,7 +128,7 @@ jobs:
|
|||
- name: Install MSRV
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: 1.65.0
|
||||
toolchain: 1.71.1
|
||||
override: true
|
||||
- name: Run MSRV
|
||||
run: cargo check -p gamedig
|
||||
|
|
@ -161,7 +161,7 @@ jobs:
|
|||
clippy:
|
||||
name: "Run clippy tests"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ "build_first" ]
|
||||
needs: ["build_first"]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
|
@ -185,7 +185,7 @@ jobs:
|
|||
doc:
|
||||
name: "Check rustdoc"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ "build_first" ]
|
||||
needs: ["build_first"]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
|
|
|||
2
.github/workflows/labeler.yml
vendored
2
.github/workflows/labeler.yml
vendored
|
|
@ -1,6 +1,6 @@
|
|||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
|
|
|
|||
2
.github/workflows/node-badge.yml
vendored
2
.github/workflows/node-badge.yml
vendored
|
|
@ -10,7 +10,7 @@ on:
|
|||
branches:
|
||||
- "main" # Limit badge commits to only happen on the main branch
|
||||
schedule: # This runs on the default branch only, it could still trigger on PRs but only if they develop on default branch and enable actions.
|
||||
- cron: '34 3 * * 2' # Update once a week in case node-gamedig has changed
|
||||
- cron: "34 3 * * 2" # Update once a week in case node-gamedig has changed
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
|
|
|||
35
.github/workflows/release.yml
vendored
35
.github/workflows/release.yml
vendored
|
|
@ -1,35 +0,0 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
if: startsWith(github.event.release.tag_name, 'cli-')
|
||||
name: Release ${{ matrix.target }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- target: x86_64-pc-windows-gnu
|
||||
archive: zip
|
||||
- target: x86_64-unknown-linux-musl
|
||||
archive: tar.gz tar.xz tar.zst
|
||||
- target: x86_64-apple-darwin
|
||||
archive: zip
|
||||
- target: wasm32-wasi
|
||||
archive: zip tar.gz
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Compile and release
|
||||
uses: rust-build/rust-build.action@v1.4.5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
RUSTTARGET: ${{ matrix.target }}
|
||||
ARCHIVE_TYPES: ${{ matrix.archive }}
|
||||
SRC_DIR: ./crates/cli
|
||||
37
.github/workflows/scripts/node-badge.mjs
vendored
37
.github/workflows/scripts/node-badge.mjs
vendored
|
|
@ -9,10 +9,10 @@ import { closeSync, openSync, writeSync } from "node:fs";
|
|||
import { spawnSync } from "node:child_process";
|
||||
|
||||
const setOutput = (key, value) => {
|
||||
const file = openSync(process.env.GITHUB_OUTPUT, "a");
|
||||
writeSync(file, `${key}=${value}\n`);
|
||||
closeSync(file);
|
||||
}
|
||||
const file = openSync(process.env.GITHUB_OUTPUT, "a");
|
||||
writeSync(file, `${key}=${value}\n`);
|
||||
closeSync(file);
|
||||
};
|
||||
|
||||
// Get node IDs
|
||||
// NOTE: Here we directly import from games to avoid loading
|
||||
|
|
@ -25,28 +25,39 @@ const node_total = node_ids.size;
|
|||
|
||||
// Get rust IDs
|
||||
|
||||
const command = spawnSync("cargo", ["run", "-p", "gamedig", "--example", "generic"]);
|
||||
const command = spawnSync("cargo", [
|
||||
"run",
|
||||
"-p",
|
||||
"gamedig",
|
||||
"--example",
|
||||
"generic",
|
||||
]);
|
||||
|
||||
if (command.status !== 0) {
|
||||
console.error(command.stderr.toString("utf8"));
|
||||
process.exit(1);
|
||||
console.error(command.stderr.toString("utf8"));
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const rust_ids_pretty = command.stdout.toString("utf8");
|
||||
const rust_ids = new Set(rust_ids_pretty.split("\n").map(line => line.split("\t")[0]).filter(id => id.length > 0));
|
||||
const rust_ids = new Set(
|
||||
rust_ids_pretty
|
||||
.split("\n")
|
||||
.map((line) => line.split("\t")[0])
|
||||
.filter((id) => id.length > 0)
|
||||
);
|
||||
|
||||
// Detect missing node IDs
|
||||
|
||||
for (const id of rust_ids) {
|
||||
if (node_ids.delete(id)) {
|
||||
rust_ids.delete(id);
|
||||
}
|
||||
if (node_ids.delete(id)) {
|
||||
rust_ids.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Node remains", node_ids);
|
||||
console.log("Rust remains", rust_ids);
|
||||
|
||||
const percent = 1 - (node_ids.size / node_total);
|
||||
const percent = 1 - node_ids.size / node_total;
|
||||
|
||||
// Output percent to 2 decimal places
|
||||
setOutput("percent", Math.round(percent*10000)/100);
|
||||
setOutput("percent", Math.round(percent * 10000) / 100);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ repos:
|
|||
language: system
|
||||
files: '([.]rs|Cargo\.toml)$'
|
||||
pass_filenames: false
|
||||
entry: rustup run --install 1.65 cargo check -p gamedig
|
||||
entry: rustup run --install 1.71.1 cargo check -p gamedig
|
||||
|
||||
- id: docs
|
||||
name: Check rustdoc compiles
|
||||
|
|
|
|||
236
README.md
236
README.md
|
|
@ -1,118 +1,118 @@
|
|||
<h1 align="center">rust-GameDig</h1>
|
||||
|
||||
<h5 align="center">The fast library for querying game servers/services.</h5>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://github.com/gamedig/rust-gamedig/actions">
|
||||
<img src="https://github.com/gamedig/rust-gamedig/actions/workflows/ci.yml/badge.svg" alt="CI">
|
||||
</a>
|
||||
<a href="https://crates.io/crates/gamedig">
|
||||
<img src="https://img.shields.io/crates/v/gamedig.svg?color=orange" alt="Latest Version">
|
||||
</a>
|
||||
<a href="https://crates.io/crates/gamedig">
|
||||
<img src="https://img.shields.io/crates/d/gamedig?color=purple" alt="Crates.io">
|
||||
</a>
|
||||
<a href="https://github.com/gamedig/node-gamedig">
|
||||
<img src="https://raw.githubusercontent.com/gamedig/rust-gamedig/main/.github/badges/node.svg" alt="Node-GameDig Game Coverage">
|
||||
</a>
|
||||
<a href="https://deps.rs/crate/gamedig/0.5.1">
|
||||
<img src="https://deps.rs/crate/gamedig/0.5.1/status.svg" alt="Rust-GameDig Dependencies">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h5 align="center">
|
||||
This library brings what
|
||||
<a href="https://github.com/gamedig/node-gamedig">
|
||||
node-GameDig
|
||||
</a>
|
||||
does (and not only), to pure Rust!
|
||||
</h5>
|
||||
|
||||
**Warning**: This project goes through frequent API breaking changes and hasn't been thoroughly tested.
|
||||
|
||||
## Community
|
||||
|
||||
Checkout the GameDig Community Discord Server [here](https://discord.gg/NVCMn3tnxH).
|
||||
Note that it isn't be a replacement for GitHub issues, if you have found a problem
|
||||
within the library or want to request a feature, it's better to do so here rather than
|
||||
on Discord.
|
||||
|
||||
## Usage
|
||||
|
||||
Minimum Supported Rust Version is `1.65.0` and the code is cross-platform.
|
||||
|
||||
Pick a game/service/protocol (check the [GAMES](GAMES.md), [SERVICES](SERVICES.md) and [PROTOCOLS](PROTOCOLS.md) files
|
||||
to see the currently supported ones), provide the ip and the port (be aware that some game servers use a separate port
|
||||
for the info queries, the port can also be optional if the server is running the default ports) then query on it.
|
||||
|
||||
[Team Fortress 2](https://store.steampowered.com/app/440/Team_Fortress_2/) query example:
|
||||
|
||||
```rust
|
||||
use gamedig::games::teamfortress2;
|
||||
|
||||
fn main() {
|
||||
let response = teamfortress2::query(&"127.0.0.1".parse().unwrap(), None);
|
||||
// None is the default port (which is 27015), could also be Some(27015)
|
||||
|
||||
match response { // Result type, must check what it is...
|
||||
Err(error) => println!("Couldn't query, error: {}", error),
|
||||
Ok(r) => println!("{:#?}", r)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response (note that some games have a different structure):
|
||||
|
||||
```json5
|
||||
{
|
||||
protocol: 17,
|
||||
name: "Team Fortress 2 Dedicated Server.",
|
||||
map: "ctf_turbine",
|
||||
game: "tf2",
|
||||
appid: 440,
|
||||
players_online: 0,
|
||||
players_details: [],
|
||||
players_maximum: 69,
|
||||
players_bots: 0,
|
||||
server_type: Dedicated,
|
||||
has_password: false,
|
||||
vac_secured: true,
|
||||
version: "7638371",
|
||||
port: Some(27015),
|
||||
steam_id: Some(69753253289735296),
|
||||
tv_port: None,
|
||||
tv_name: None,
|
||||
keywords: Some(
|
||||
"alltalk,nocrits"
|
||||
),
|
||||
rules: [
|
||||
"mp_autoteambalance"
|
||||
:
|
||||
"1",
|
||||
"mp_maxrounds"
|
||||
:
|
||||
"5",
|
||||
//....
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Want to see more examples? Checkout the [examples](crates/lib/examples) folder.
|
||||
|
||||
## Command Line Interface
|
||||
|
||||
The library also has an [official CLI](https://crates.io/crates/gamedig_cli) that you can use but it has
|
||||
MSRV of `1.74.1`.
|
||||
|
||||
## Documentation
|
||||
|
||||
The documentation is available at [docs.rs](https://docs.rs/gamedig/latest/gamedig/).
|
||||
Curious about the history and what changed between versions?
|
||||
Everything is in the changelogs file: [lib](crates/lib/CHANGELOG.md) and [cli](crates/lib/CHANGELOG.md).
|
||||
|
||||
## Contributing
|
||||
|
||||
If you want to see your favorite game/service being supported here, open an issue, and I'll prioritize it (or do a pull
|
||||
request if you want to implement it yourself)!
|
||||
|
||||
Before contributing please read [CONTRIBUTING](CONTRIBUTING.md).
|
||||
<h1 align="center">rust-GameDig</h1>
|
||||
|
||||
<h5 align="center">The fast library for querying game servers/services.</h5>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://github.com/gamedig/rust-gamedig/actions">
|
||||
<img src="https://github.com/gamedig/rust-gamedig/actions/workflows/ci.yml/badge.svg" alt="CI">
|
||||
</a>
|
||||
<a href="https://crates.io/crates/gamedig">
|
||||
<img src="https://img.shields.io/crates/v/gamedig.svg?color=orange" alt="Latest Version">
|
||||
</a>
|
||||
<a href="https://crates.io/crates/gamedig">
|
||||
<img src="https://img.shields.io/crates/d/gamedig?color=purple" alt="Crates.io">
|
||||
</a>
|
||||
<a href="https://github.com/gamedig/node-gamedig">
|
||||
<img src="https://raw.githubusercontent.com/gamedig/rust-gamedig/main/.github/badges/node.svg" alt="Node-GameDig Game Coverage">
|
||||
</a>
|
||||
<a href="https://deps.rs/crate/gamedig">
|
||||
<img src="https://deps.rs/crate/gamedig/latest/status.svg" alt="Rust-GameDig Dependencies">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h5 align="center">
|
||||
This library brings what
|
||||
<a href="https://github.com/gamedig/node-gamedig">
|
||||
node-GameDig
|
||||
</a>
|
||||
does (and not only), to pure Rust!
|
||||
</h5>
|
||||
|
||||
**Warning**: This project goes through frequent API breaking changes and hasn't been thoroughly tested.
|
||||
|
||||
## Community
|
||||
|
||||
Checkout the GameDig Community Discord Server [here](https://discord.gg/NVCMn3tnxH).
|
||||
Note that it isn't be a replacement for GitHub issues, if you have found a problem
|
||||
within the library or want to request a feature, it's better to do so here rather than
|
||||
on Discord.
|
||||
|
||||
## Usage
|
||||
|
||||
Minimum Supported Rust Version is `1.71.1"` and the code is cross-platform.
|
||||
|
||||
Pick a game/service/protocol (check the [GAMES](GAMES.md), [SERVICES](SERVICES.md) and [PROTOCOLS](PROTOCOLS.md) files
|
||||
to see the currently supported ones), provide the ip and the port (be aware that some game servers use a separate port
|
||||
for the info queries, the port can also be optional if the server is running the default ports) then query on it.
|
||||
|
||||
[Team Fortress 2](https://store.steampowered.com/app/440/Team_Fortress_2/) query example:
|
||||
|
||||
```rust
|
||||
use gamedig::games::teamfortress2;
|
||||
|
||||
fn main() {
|
||||
let response = teamfortress2::query(&"127.0.0.1".parse().unwrap(), None);
|
||||
// None is the default port (which is 27015), could also be Some(27015)
|
||||
|
||||
match response { // Result type, must check what it is...
|
||||
Err(error) => println!("Couldn't query, error: {}", error),
|
||||
Ok(r) => println!("{:#?}", r)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response (note that some games have a different structure):
|
||||
|
||||
```json5
|
||||
{
|
||||
protocol: 17,
|
||||
name: "Team Fortress 2 Dedicated Server.",
|
||||
map: "ctf_turbine",
|
||||
game: "tf2",
|
||||
appid: 440,
|
||||
players_online: 0,
|
||||
players_details: [],
|
||||
players_maximum: 69,
|
||||
players_bots: 0,
|
||||
server_type: Dedicated,
|
||||
has_password: false,
|
||||
vac_secured: true,
|
||||
version: "7638371",
|
||||
port: Some(27015),
|
||||
steam_id: Some(69753253289735296),
|
||||
tv_port: None,
|
||||
tv_name: None,
|
||||
keywords: Some(
|
||||
"alltalk,nocrits"
|
||||
),
|
||||
rules: [
|
||||
"mp_autoteambalance"
|
||||
:
|
||||
"1",
|
||||
"mp_maxrounds"
|
||||
:
|
||||
"5",
|
||||
//....
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Want to see more examples? Checkout the [examples](crates/lib/examples) folder.
|
||||
|
||||
## Command Line Interface
|
||||
|
||||
The library also has an [official CLI](https://crates.io/crates/gamedig_cli) that you can use but it has
|
||||
MSRV of `1.74.1`.
|
||||
|
||||
## Documentation
|
||||
|
||||
The documentation is available at [docs.rs](https://docs.rs/gamedig/latest/gamedig/).
|
||||
Curious about the history and what changed between versions?
|
||||
Everything is in the changelogs file: [lib](crates/lib/CHANGELOG.md) and [cli](crates/lib/CHANGELOG.md).
|
||||
|
||||
## Contributing
|
||||
|
||||
If you want to see your favorite game/service being supported here, open an issue, and I'll prioritize it (or do a pull
|
||||
request if you want to implement it yourself)!
|
||||
|
||||
Before contributing please read [CONTRIBUTING](CONTRIBUTING.md).
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# MSRV (Minimum Supported Rust Version)
|
||||
|
||||
Current: `1.65.0`
|
||||
Current: `1.71.1`
|
||||
|
||||
Places to update:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,17 @@
|
|||
Who knows what the future holds...
|
||||
|
||||
# 0.X.Y - DD/MM/YYYY
|
||||
# X.Y.Z - DD/MM/YYYY
|
||||
|
||||
Nothing... yet.
|
||||
|
||||
# 0.2.0 - 26/11/2024
|
||||
|
||||
### Breaking Changes:
|
||||
|
||||
- Restructured the release flow to be more consistent (GitHub releases will no longer be available, use cargo instead).
|
||||
- Changed crate name from `gamedig-cli` to `gamedig_cli` to align with recommended naming conventions.
|
||||
- The CLI now requires a minimum Rust version of `1.74.1`.
|
||||
|
||||
# 0.1.1 - 15/07/2024
|
||||
|
||||
### Changes:
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ authors = [
|
|||
]
|
||||
description = "A command line interface for gamedig"
|
||||
license = "MIT"
|
||||
version = "0.1.1"
|
||||
version = "0.2.0"
|
||||
edition = "2021"
|
||||
default-run = "gamedig_cli"
|
||||
homepage = "https://gamedig.github.io/"
|
||||
|
|
@ -33,7 +33,7 @@ browser = ["dep:webbrowser"]
|
|||
# Core Dependencies
|
||||
thiserror = "2.0.0"
|
||||
clap = { version = "4.5.4", default-features = false, features = ["derive"] }
|
||||
gamedig = { version = "0.5", default-features = false, features = [
|
||||
gamedig = { version = "0.6", default-features = false, features = [
|
||||
"clap",
|
||||
"games",
|
||||
"game_defs",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# rust-GameDig CLI
|
||||
# Rust GameDig CLI
|
||||
|
||||
The official [rust-GameDig](https://crates.io/crates/gamedig_cli) Command Line Interface.
|
||||
The official [rust-GameDig](https://crates.io/crates/gamedig) Command Line Interface.
|
||||
|
||||
[](https://github.com/gamedig/rust-gamedig/actions) [](https://github.com/gamedig/rust-gamedig/blob/main/LICENSE.md) [](https://github.com/gamedig/node-gamedig)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,18 @@
|
|||
Who knows what the future holds...
|
||||
|
||||
# 0.X.Y - DD/MM/YYYY
|
||||
# X.Y.Z - DD/MM/YYYY
|
||||
|
||||
# 0.6.0 - 26/11/2024
|
||||
|
||||
Breaking:
|
||||
|
||||
- MSRV is now `1.71.1` (was `1.65.0`), this is due to deps we rely on requiring a higher version on linux builds (`1.65.0` is 2+ years old).
|
||||
|
||||
Games:
|
||||
|
||||
- [Minetest](https://www.minetest.net/) support (available on the `tls`, `serde` and `services` features) (#218 by
|
||||
@CosminPerRam).
|
||||
- Fixed the forest game failing when host has the client steam id (#232 by @paul-hansen).
|
||||
|
||||
# 0.5.2 - 20/10/2024
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "gamedig"
|
||||
version = "0.5.2"
|
||||
version = "0.6.0"
|
||||
edition = "2021"
|
||||
authors = [
|
||||
"rust-GameDig contributors [https://github.com/gamedig/rust-gamedig/contributors]",
|
||||
|
|
@ -13,7 +13,7 @@ documentation = "https://docs.rs/gamedig/latest/gamedig/"
|
|||
repository = "https://github.com/gamedig/rust-gamedig"
|
||||
readme = "README.md"
|
||||
keywords = ["server", "query", "game", "check", "status"]
|
||||
rust-version = "1.65.0"
|
||||
rust-version = "1.71.1"
|
||||
categories = ["parser-implementations", "parsing", "network-programming", "encoding"]
|
||||
|
||||
[features]
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ on Discord.
|
|||
|
||||
## Usage
|
||||
|
||||
Minimum Supported Rust Version is `1.65.0` and the code is cross-platform.
|
||||
Minimum Supported Rust Version is `1.71.1` and the code is cross-platform.
|
||||
|
||||
Pick a game/service/protocol (check
|
||||
the [GAMES](https://github.com/gamedig/rust-gamedig/blob/main/GAMES.md), [SERVICES](https://github.com/gamedig/rust-gamedig/blob/main/SERVICES.md)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue