ace-of-shades-2/README.md

2.7 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. Create a file named config.yaml in the same directory as the JAR file, and place the following text in it:
serverHost: localhost
serverPort: 25565
username: myUsername
input:
  mouseSensitivity: 0.005
display:
  fullscreen: true
  captureCursor: true
  fov: 80
  1. Set the serverHost, serverPort, and username properties accordingly for the server you want to join.
  2. Run the game by double-clicking the aos2-client JAR file, or enter java -jar aos2-client-{version}.jar in a terminal.

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.