ace-of-shades-2/README.md

2.5 KiB

Ace of Shades 2

A simple 3D voxel-based shooter inspired by Ace of Spades. With some basic weapons and tools, fight against players in other teams!

screenshot

Quick-Start Guide

Read this guide to get started and join a server in just a minute or two!

  1. Make sure you've got at least Java 17 installed. You can get it here.
  2. Download the aos2-client JAR file from the releases page that's compatible with your system.
  3. Run the game by double-clicking the JAR file, or entering java -jar <jarfile> in a terminal. This should generate a config.yaml file.
  4. Set the serverHost, serverPort, and username properties accordingly for the server you want to join.
  5. Run the game again to join the server and start playing!

Setting up a Server

Setting up a server is quite easy. Just go to the releases page and download the latest aos2-server JAR file. Similar to the client, it's best if you provide a config.yaml file to the server, in the same directory. The following snippet shows the structure and default values of a server's configuration.

port: 25565
connectionBacklog: 5
ticksPerSecond: 20.0
world: worlds.redfort
teams:
  - name: Red
    color: [0.8, 0, 0]
    spawnPoint: A
  - name: Blue
    color: [0, 0, 0.8]
    spawnPoint: B
physics:
  gravity: 29.43
  walkingSpeed: 4
  crouchingSpeed: 1.5
  sprintingSpeed: 9
  movementAcceleration: 2
  movementDeceleration: 1
  jumpVerticalSpeed: 8
actions:
  blockBreakCooldown: 0.25
  blockPlaceCooldown: 0.1
  blockBreakReach: 5
  blockPlaceReach: 5
  blockBulletDamageResistance: 3
  blockBulletDamageCooldown: 10
  resupplyCooldown: 30
  resupplyRadius: 3
  teamSpawnProtection: 10
  movementAccuracyDecreaseFactor: 0.01
  friendlyFire: false

Configuration

Both the client and server use a similar style of YAML-based configuration, where upon booting up, the program will look for a configuration file in the current working directory with one of the following names: configuration, config, cfg, ending in either .yaml or .yml. Alternatively, you can provide the path to a configuration file at a different location via a single command-line argument. For example:

java -jar server.jar /path/to/my/custom/config.yaml

If no configuration file is found, and none is explicitly provided, then a set of default configuration options is loaded.