Skip to content

Commit

Permalink
Add AG Mod X Website
Browse files Browse the repository at this point in the history
Built with Docusaurus
  • Loading branch information
rtxa committed Aug 27, 2024
1 parent 73daf7e commit 83585d2
Show file tree
Hide file tree
Showing 78 changed files with 15,867 additions and 3 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/docusaurus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- main

jobs:
build:
name: Build Docusaurus
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm

- name: Install dependencies
run: npm ci
working-directory: ./website

- name: Build website
run: npm run build
working-directory: ./website

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
with:
path: website/build

deploy:
name: Deploy to GitHub Pages
needs: build

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ node_modules/
.compiler/
.thirdparty/
dist/
.amxxpack.json
package-lock.json
package.json
/.amxxpack.json
/package-lock.json
/package.json
2 changes: 2 additions & 0 deletions website/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
20 changes: 20 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
41 changes: 41 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Website

This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Deployment

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
3 changes: 3 additions & 0 deletions website/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
8 changes: 8 additions & 0 deletions website/docs/getting-started/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Getting started",
"position": 3,
"link": {
"type": "generated-index",
"description": "Here you would find all the information about the mod, server commands, CVars, game modes, etc."
}
}
Binary file added website/docs/getting-started/assets/enix-bg1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions website/docs/getting-started/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Features
sidebar_position: 1
---

![](assets/enix-bg1.jpg)

This page contains most of the features and bug fixes added to AG Mod X. Most of these come from using *Bugfixed HL*.

## Highlights

- HUD for messages and votes are now displayed with the AG Style. Colors can be customized too.
- Color codes are now displayed and no longer get removed. Most players already use clients that support coloring.
- Respawn time is now consistent with all FPS values (no more players spawning instantly by using high FPS).
- Fixed chat anti-flood muting the player indefinitely when the game is paused.
- No more bug of standing corpses from clients playing with high FPS.
- Now you can use partial player names and without the need to include color codes for the next commands: `agallow`, `agkick`, `agforcespectator`, etc.
- Now you can vote for game mode and map simultaneously, saving you time by using
`vote <gamemode> [map]`. For example: `vote arena stalkx`.
- Added damage CVars for the crossbow and gauss secondary attack. Fixed hand grenade damage CVar too. More info [here](/docs/guides/gamemodes.md#set-weapons-damage).
- Weapons are now displayed in spectator mode.
- Included more than 200 map locations (Thanks Golem).
- The `aglistvotes` and `help` commands now display across multiple pages, preventing disconnects due to commands overflow.

### Game modes

- Added **LLHL** game mode. Similar to EHLL. More info [here](/docs/getting-started/gamemodes/llhl.md).
- Added **CTF** mode back. It wasn't available due to some limitations. More info [here](/docs/getting-started/gamemodes/ctf.md).
- Added **Arcade X**. Same as Arcade but now you start without armor, allowing for a more fast-paced gameplay.
- **Arena:** Fixed bolts fired from a previous match not being removed when a new duel starts.

## Bugfixes

### Competitive

- Fixed players with high FPS respawning too fast. This ensures players respawn time is the same regardless of their FPS.
- Added `mp_respawn_fix` and `mp_respawn_delay` with a default value of *0.95s* which is similar to spawning with 125fps.
- Fixed standing corpses bug from high FPS players.

### Quality of Life

- Fixed jittering when moving upwards on spectator mode.
- Fixed gauss charge sound not being reset when far away (Only on PAS). Still requires fixing on underwater, static discharge, etc.
- Fixed player killing from stationary weapons (like a turret) not being awarded points.
- Fixed getting stuck on lifts on high FPS servers for *CBaseToggle* objects, like `func_door`, `func_plat`, etc.
- Fixed non-stopping move sound if door was blocked and returned back. Instead of stopping the sound, just don't start a new one.
- Fixed Death Cam mode not working. Now players are able to nicely overlook the area after being death for more than 5 seconds.
- Fixed crash when using `give` on items not precached by the map: `weapon_satchel`, `item_healthkit` and `ammo_9mmbox`.
- Prevent `kill` command if client is already dead in spectator mode.
- Make dead players non-solid to remove jittering when passing over it.

### Exploits


- Fixed high network usage (choke) from bouncing satchels by disabling his animations. Satchel model didn't have animations anyway.
- Fixed server crash when a player tries to use a tank that was already being used by another player who had no weapons equipped.
- Fixed model name checking and diverse exploits:
- Prevent client crash on malformed model name.
- Check model name for forbidden characters like `<>:;%?*"|/\` or empty string.
- Prevent usage of invisible models.
- Allow unstuck from a satchel, for example if player spawns on it.
- Deployed satchels are now removed on: death, disconnect, entering spectator mode and any other case where all weapons are stripped, even if not carrying satchels control (dropped after deploying).

### Chat

- Fixed anti-flood muting the player indefinitely when the game is paused. The cooldown wasn't being reset on pause for some reason.
- Fixed exploit when sending long messages with modifiers (`%L`, `%H`, `%A`, etc.), making players with older clients crash.
- Fixed chat flood control. Now it will check in burst mode: 3 messages within 0.5 sec with penalty of 2 seconds.

### Demo recording

- Fixed ammo counter not being updated when recording. Now `fullupdate` will resend `HideHUD`, `FOV`, `CurrentWeapon` and `Ammo` info.
- Fixed `fullupdate` command exploit: Limit to no more than 2 commands within 5 seconds.

### Weapons

- Fixed repeating switching between **gauss** and **egon** when no ammo.
- Fixed fast repeating sound of empty reload of RPG on `+attack` holding.
- Fixed delay on primary attack with empty RPG launcher.
- Fixed RPG laser spot not hiding on reload.
- Fixed bug with crossbow bolt continuing to move after hitting some entity which doesn't take damage and explode in some other point.
- Fixed bug with tripmine big view model when weapon prediction is turned off.
- Fixed Egon and Gauss beam not coming out from weapon view model on spectator mode.
- Added missing player attack animation on primary shot from **shotgun**.
9 changes: 9 additions & 0 deletions website/docs/getting-started/gamemodes/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"label": "Game modes",
"position": 3,
"collapsed": false,
"link": {
"type": "generated-index",
"description": "Here you would find all the information about the game modes and their settings."
}
}
12 changes: 12 additions & 0 deletions website/docs/getting-started/gamemodes/_dom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Domination
---

# Domination

Maps have neutral command points layout, two team fight over the control of the area. Teams must hold a series of command points to score

sv_ag_dom_mincontroltime 5 // number of seconds CP must be held before team scores
sv_ag_dom_controlpoints 1 // points scored by team when each time a CP scores
sv_ag_dom_resetscorelimit 12 // score limit before CP resets to neutral control
sv_ag_dom_scorelimit 200 // max points a team needs to get to win the game
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions website/docs/getting-started/gamemodes/ctf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Capture The Flag
---

# Capture The Flag

![](assets/ctf-preview4.png)

Capture The Flag is a fun team-play game mode where two teams, <span style={{color: 'red'}}>Red</span> and <span style={{color: 'DodgerBlue'}}>Blue</span>, try to steal the other team's flag and bring it back to their own base to capture it.

Each team will have their own base and flag to defend. In order to score, your team's flag **must still be at your base**, which means you'll have to have some good defense to keep the other team from running off with your flag. If someone steals your team's flag, kill them and they'll drop it. Touch your team's flag and it will be returned to your base.

The team with most captures **wins**!

## Score system

- 4 points for each capture.
- 1 point for returning your team's flag.
- 1 point for killing the opponent that carries your flag.
- 1 point for stealing the other teams flag.
- 1 point if you kill your opponent close to your flag within a radius of 192 units.

## Client commands

* `dropitems` or `drop flag` — Drop flag in CTF mode.

## Server variables

- `sv_ag_ctf_flag_resettime 30` — The time that a dropped flag lays in the world before respawning.
- `sv_ag_ctf_capturelimit 10` — The number of captures before map ends.
- `sv_ag_ctf_teamcapturepoints 1` — The ammount of points his teammates get
- `sv_ag_ctf_capturepoints 4` — The amount of points the capturer gets
- `sv_ag_ctf_returnpoints 1` — The amount of points the returner gets.
- `sv_ag_ctf_carrierkillpoints 1` — The amount of points for killing the opponent that carries your flag.
- `sv_ag_ctf_stealpoints 1` — The amount of points the stealer gets.
- `sv_ag_ctf_defendpoints 1` — The amount of points the defender gets. Enemy needs to be within a radius of 192 units.
- `sv_ag_ctf_roundbased 0` — Round-based game (start over at spawn when a team caps a flag).
66 changes: 66 additions & 0 deletions website/docs/getting-started/gamemodes/llhl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# LLHL

![LLHL Logo](assets/llhl-logo.png)

> LLHL stands for "Liga Latinoamericana de Half-Life"
LLHL is a game mode designed for the HL/AG community in Latin America for their own leagues and tournaments. This mode features functionality similar to the European game mode counterpart (EHLL mode).

## Features

**General**

- Automatic demo recording on match start.
- Unstuck command with 10-second cooldown.
- Ability to destroy other players satchels (Disabled by default).
- New intermission mode: Allows players to freely look around instead of being locked to a fixed angle.

**Fair-play**

- FPS Limiter (Maximum: 144 FPS).
- FOV Limiter (Minimum: 85 FOV, disabled by default).
- Block name and model changes when a match is on.

**Weapons**

- Egon damage reduced by 30%.
- Crowbar damage increased by 30%.
- Hornet gun damage increased by 60%.

**Fixes**

- RPG fix on: Avoids self-damage on rocket launch when moving at high speeds or closer to a wall.
- Gauss fix on: Disables self-gauss (Only first reflection).
- High-FPS respawn fix on: Ensures players respawn time is the same regardless of their FPS.

**Anti-Cheat Measures**

- Screenshots taken on death and when map ends.
- Check players are using default sounds for weapons, footsteps, etc.
- Simple OpenGF32 and AGFix cheat detection.

## Client commands

- `/unstuck` - Teleports you to a free spot in-case you're stuck (10-second cooldown).

## Server variables

**FPS limit**

- `sv_ag_fpslimit_max_fps 144`
- `sv_ag_fpslimit_max_detections 5`
- `sv_ag_fpslimit_check_interval 5.0`

**Unstuck**

- `sv_ag_unstuck_start_distance 32`
- `sv_ag_unstuck_max_attempts 64`
- `sv_ag_unstuck_cooldown 10.0`

**Satchel**
- `sv_ag_destroyable_satchel 0`
- `sv_ag_destroyable_satchel_hp 1`

**Checks**
- `sv_ag_check_soundfiles 1`
- `sv_ag_block_namechange_inmatch 1`
Loading

0 comments on commit 83585d2

Please sign in to comment.