Skip to content

A ground-up SERVER implementation of the Ace of Spades alpha 1.0 protocol

License

Notifications You must be signed in to change notification settings

10se1ucgo/ace.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

very wip

its a LEARNING EXPERIENCE so pls dont flame

feedback and help very welcome!!!

RUNNING

  1. build
  2. edit config.json
  3. run run.py

BUILDING

You'll need

  • Python 3.6+
  • pyenet
  • Cython
  • A working C++(11?) compiler.
    • If you're on Windows you'll want to use MSVC 2015 or 2017 (should be the same MSVC version your Python installation was built with)

See build.bat for an example on building.

OPTIONAL:

  • uvloop

STUFF AND THINGS (eventually will be a TODO)

  • Protocol:
    • Script loading/unloading
      • Scripted gamemodes.
      • Built-in command script with argument parser etc.
      • Complete set of hooks and utility functions
      • Default set of general server scripts
    • Map loading and iterative sending
      • Map switching/rotations
      • Map metadata
      • Proper configuration
    • Server packs (models, sounds, etc.)
    • Dynamic entities
    • Sounds played by server
    • System chat messages (big hud messages too)
  • Connection:
    • All these packets sent by the client are currently handled by the server:
      • PositionOrientationData (update data for rubberbanding and orientation)
      • InputData (movement directions + jump crouch sneak sprint)
      • ExistingPlayer (player join + set name/team/weapon)
        • spectator included [untested]
      • ChatMessage (chat messages, team/global :P)
      • BlockAction (building, destroying blocks)
      • BlockLine
      • WeaponInput/Reload (primary/secondary fire, reload)
      • ChangeClass/Team (weapon/team)
      • SetTool/Color (current selected tool/block color)
      • UseOrientedItem (grenade thrown or rpg fired)
      • HitPacket (weapon fire hits)
      • PlaceMG (places a mounted machine gun at target location)
      • UseCommand (generic use button keypress)
    • Basic rapid hack prevention
  • Gameplay
    • Rifle, SMG, Shotgun, RPG, Sniper and basic MG support
    • Grenades and Rockets.
    • Building and destroying
    • Spawning, dying, respawning
  • probably some other things
  • probably another set of other things

License

I hope I did this right.

Copyright (C) 10se1ucgo 2017
based on pyspades <https://github.com/infogulch/pyspades> (C) Mathias Kaerlev 2011-2012.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http:https://www.gnu.org/licenses/>.

About

A ground-up SERVER implementation of the Ace of Spades alpha 1.0 protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published