A simple 3D voxel-based shooter inspired by Ace of Spades.
Go to file
Andrew Lalis 1bb4b08df8 Fixed picking block. 2022-07-28 01:08:17 +02:00
client Fixed picking block. 2022-07-28 01:08:17 +02:00
core Added redfort world and improved team config. 2022-07-27 18:08:31 +02:00
design Added screenshot! 2022-07-27 16:49:24 +02:00
launcher Added launcher base javafx code. 2022-07-15 13:00:14 +02:00
server Added redfort world and improved team config. 2022-07-27 18:08:31 +02:00
worlds Added basic physics for walls, still highly broken. 2022-07-10 12:49:51 +02:00
.gitignore Added build-clients.d script. 2022-07-26 17:15:14 +02:00
LICENSE Initial commit 2022-07-03 14:34:17 +02:00
README.md Added redfort world and improved team config. 2022-07-27 18:08:31 +02:00
build-clients.d Upgraded build script. 2022-07-27 16:26:17 +02:00
pom.xml Added basic chat functionality, for server-side messages. 2022-07-27 16:10:22 +02:00
setversion.d Upgraded setversion.d to also run mvn clean test. 2022-07-09 11:31:20 +02:00

README.md

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.