Commit Graph
159 Commits
Author SHA1 Message Date
RonaldReagan 0e5b638b9f Merge remote-tracking branch 'ACMaster/release_1.3' into authimprovements_263
# Conflicts:
#	config/menus_settings.cfg
2021-05-21 21:43:06 -06:00
drian 3b6dd7dc84 321 random crashes in multiplayer 2021-05-10 06:20:29 +02:00
flowtron 3d0972aa83 clarify SC_PUBLIC, SC_FFA & SC_FLAGONLY 2021-04-30 11:50:25 +02:00
RonaldReagan 1444d9db2e #263 Prevent removal of active admin/whitelist/ban vita records 2021-04-26 16:51:12 -06:00
RonaldReagan 42c3c4ebcc #263 Keep track of flags for vitastat 2021-04-25 13:05:35 -06:00
drian 7d0e84fe95 #108 merged 'Pause' PR - work in progress 2021-04-14 09:19:22 +02:00
ac-stef 3a320de948 cleanup cpistol 2017-06-27 15:15:25 +02:00
ac-stef 1fe478aae4 cleanup protocol
...and get master to compile again

DOCREF hudextras mapstats_hud nextGameMode
2017-06-27 15:15:25 +02:00
aurhatandac-stef 69d8304315 Fix akimbo damage 2017-06-27 15:15:25 +02:00
ac-stef 2fa895ae90 use fov and roll values of remote player during spectating
spectfovremote 0|1
    '1' uses fov and scopefov of the spectated player, '0' uses spectfov
    and the local scopefov, default is '0'

  maxrollremote sets the maximum roll to be shown during spectating

DOCREF spectfovremote
2017-06-27 15:15:25 +02:00
ac-stef 0b44cf1c9c reduce compact pos packet size by two more bit 2017-06-27 15:15:25 +02:00
ac-stef 94d0203bc6 cleanup pos packets
* remove roll
* optimise for size
* new protocol data type: unsigned integer with known size
* highres yaw encoding
* double resolution for pitch angles -30°..30°
* half resolution for pitch angles -90°..-30° and 30°..90°
* proper rounding for pitch and yaw values
* same resolution for yaw and pitch for both pos packet types
* restore transmission of the velocity vector
2017-06-27 15:15:24 +02:00
ac-stef 7fe7e47317 improved demo recording
The demo data is collected, hashed and compressed fully in memory, mostly
in a worker thread.

While in memory, each demo is identified by an unique sequence number,
which is, for example, used to request a download by the client.

If so configured, the demo is written to file by the worker thread.

If F10 is pressed later than two minutes into the next game, instead of
downloading the last game, the current game is scheduled to be
automatically downloaded when it ends.

At the end of a game, all clients and the server sign the demo file.
2017-06-27 15:15:24 +02:00
ac-stef 2f80c5bae5 add channel for less important server messages
(so that the client can choose to not display them)
2017-06-27 15:15:24 +02:00
ac-stef 00c05ef353 add debug access to server parameters
Server owners can overwrite values on a server, which then don't get
updated from file anymore. With a reset command, all parameters get read
from file again. Implemented as "serverextensions".

serverextension servpar::get parname
  print parname and value

serverextension servpar::set parname:value
  set parname to value
  also disables reading of this parameter from file (otherwise, the
  new value wouldn't last very long)

serverextension servpar::reset
  set all parameters to be read from file again

serverextension servpar::dump
  prints unsorted list of all parameters, values, limits and descriptions
2017-06-27 15:15:24 +02:00
ac-stef 49232e05e0 new commands to add modeinfo and artist info to maps
mapartist print|set|get|clear

  print:  prints the map artist player ID
  set:  sets the map artist player ID to the currently logged in player
  get:   returns the current map artist player ID
  clear:  erases an existing map artist record in the current map

modeinfo list|get|clear|<modelist> <modeflags>

  list:  lists current modeinfo entries
  get:  returns list of current modeinfo entries
  clear:  erases current list of modeinfo entries
  <modelist> <modeflags>:  specifies flags for a list of modes

DOCREF modeinfo mapartist
2017-06-27 15:15:23 +02:00
ac-stef 0b656d2380 add server-side player vita database
The server keeps track of every player ID that ever connected successfully.
This database stores the last names and IPs used by the player and the
last countries the connections came from. Some stats are counted, like
"time connected" and "total tks". Most importantly, the database stores
rights (like admin) and restrictions (like ban). All rights and
restrictions are kept as dates (or timecodes), so, for example, if your
ban date is in the future, you are banned - and if it's in the past, you
can play. The collected stats are meant to help server owners at managing
players - especially, if they want to give someone admin rights.

The database is periodically saved to a file and read from that file on
startup. The default file is config/servervita.cfg and one backup is kept
in config/servervita_bak.cfg. During server start, if the regular file
can't be loaded, the backup is tried instead.

While the server is running, it checks periodically for a file named
config/servervita_update.cfg, and if the file exists, it is renamed to
a backup filename including a timecode and read and merged into the
database. The automatic rename makes sure, that a file is only read once.
Using such updates, a server owner can easily give several people admin
rights or for example, add clan tags for a whole list of IDs. (Yes, the
database also stores a clan tag for every ID...)

The database also stores two short comments for every ID. One can only be
read by server admins, but the other one is public. The public reason, for
example, can state a reason for a ban.

One database record takes up 264 bytes of RAM. During autosave, accounts,
that have not been used for a specified time (default 12 months), will
not be written. After a server restart, those old records will be gone.

Currently, there is no process in place, to also clean up old records
from RAM. Maybe, that'll be added later...
2017-06-27 15:15:23 +02:00
ac-stef d6af5be3da add auth to client server connect protocol 2017-06-27 15:15:23 +02:00
ac-stef 5fee02c77b new maprot
Instead of a list of specific map+mode combinations the maprot now only
contains general rules for maps and game modes. The server then calculates
the list by itself when needed. The server accounts played maps and modes
(and map+mode combinations) and calculates the list specifically not to
overplay maps or modes.

May need further testing.
2017-06-27 15:15:22 +02:00
ac-stef 63668e0dda add support for a geolocation table
including two converter scripts to use Geolite2 and Webnet77 tables
2017-06-27 15:15:21 +02:00
ac-stef 1ca4ce54eb some server changes
tbc
2017-06-27 15:15:20 +02:00
ac-stef 9bb9cc280b click
shutter sound, cut, edited and compressed

original at: www.freesound.org/people/jgrzinich/sounds/155385/
original license CC0
2017-06-13 14:19:16 +02:00
ac-stef 2bc8936680 cleanup killmessages
* remove server-side custom killmessages (log files need to be uniform)
* clean up client-side custom killmessages
2017-05-22 20:19:15 +02:00
ac-stef d0b309320b really cleanup sound
- collect most sound infos in one table and use it to generate the menus
- no more sound category checks with ranges
- now only PAINx and FOOTSTEP* sounds use hardcoded index numbers

enumsounds <list of categories>

  Lists sound index numbers and short descriptions for all sounds of one
  or more categories. The argument should contain one or more of PAIN,
  OWNPAIN, WEAPON, PICKUP, MOVEMENT, BULLET, OTHER, VOICECOM, TEAM,
  PUBLIC, FFA, FLAGONLY. All sounds with at least one of the flags will
  be listed. Flag names prefixed with "!" will exclude all matching
  sound from the list.

  Example: /echo (enumsounds "VOICECOM !PUBLIC") will list all voicecom
  sounds that are for teams only.

DOCREF enumsounds
2017-05-22 17:30:51 +02:00
ac-stef 5e638565f8 cleanup
- un-inline stuff that really doesn't need to be
- unify weapon id checks
- shrink guns
2017-05-02 21:38:58 +02:00
ac-stef aca74e1b59 allow copy, paste, undo, redo and selectionwalk in coop edit
limited to selection areas of at max 4096 cubes, which is 64x64 cubes
2016-09-17 22:11:07 +02:00
ac-stef 4dc54e22b5 allow more edit commands in coop edit
The edit protocol now allows the following commands in multiplayer:

  arch, slope, edittag, edittagclip, selectionrotate, selectionflip

also:

  mapenlarge has been limited to size 10 in multiplayer

  entitiy undelete in multiplayer has been fixed

SV_EDITS, SV_EDITD and SV_EDITE are to be cleaned up with a protocol bump

DOCREF arch slope edittag edittagclip selectionrotate selectionflip
2016-09-16 14:06:27 +02:00
ac-stef 77b7e9bb87 new entity type "dummy"
Adds a new entity type for use in scripts. The entity does not affect
rendering or physics and is not saved to map files.
2016-08-26 14:08:56 +02:00
ac-stefandaurhat 938c2ccc87 fix pickup sound
hardwire armour sound for helmet - it's the same sound
2016-08-15 11:52:19 +02:00
ac-stef fe6f9e92a7 tab and formfeed cleanup 2015-06-10 14:28:50 +02:00
ac-stef edd94fb931 tilted and rotated clip entities
Attribute 7 of clip- and plclip-entities now allows four different shapes
for the clips:

  0: basic rectangular (like in older AC versions)
  1: tilted in direction of x-axis
  2: tilted in direction of y-axis
  3: rotated by 45 degrees

The shapes 1 and 2 use the value of attr6 as slope angle.

The player only can walk upwards a tilted clip, if the height (attr4) is
at least 0.6 cubes. Slopes steeper than 5.0 can not be walked up (same
maximum step size as for sloped map geometry).

Mappers, please keep in mind: especially tilted clips are more expensive
than regular clips, but they are much cheaper than stairs built from a
bunch of regular clips. Large and small clips cost exactly the same, so
try to combine clips to keep the total number down.
2015-05-27 15:47:05 +02:00
ac-stef f3904724d7 limit the range of certain entity attributes
For example, direction angle values can be reduced to +- 360 degree.
(0..360 would be sufficient, but some people like their angles negative)

This is not a reduction of functionality or a security measure - it's for
convenience only: values now wrap around at the borders of their useful
ranges.
2015-05-27 15:47:05 +02:00
ac-stef f774e4d841 higher resolution for entity attributes
Interpret the values for entity yaw angles and clip entity sizes as
fifths or tenths of cubes or degree.

This makes some entity attributes appear as float values to the user.
The map file still only keeps integer values - but now they are
interpreted differently - for example, a health pack elevation value of 6
now means 0.6 cubes instead of 6.

Note: the scaling factors are hardcoded - use ENTSCALE5 or ENTSCALE10
whereever possible. For generic entity editing, the scaling values are
also stored in entscale[] - but that table can not be changed without
breaking the map format! This scaling is similar to the treatment of the
vdelta values of map cubes.
2015-05-27 15:47:04 +02:00
ac-stef 47f71f1288 allow symbolic arguments for some commands
* new command "listoptions" lists the argument options for several
  argument types like entities, weapons and teamnames
* "burstshots", "weapon", "magcontent", "magreserve", "fragmessage" and
  "gibmessage" now allow guns to be specified by name
* "addpunct" allows plaintext arguments like "brackets" and "quotes"
* the "team" command now understands numeric teams
* entity types can now be specified by type index number
* removed some lists from the config files (now provided by listoptions)
* added argument completion for several commands
* change nextprimary from integer to string variable

DOCREF listoptions burstshots weapon addpunct
DOCREF fragmessage gibmessage magcontent magreserve
DOCREF nextprimary
2015-02-23 18:52:04 +01:00
lucas.gautheron 19e4aff2dc Force respawn automatically in DM/TDM, PF and HTF in mastermode MATCH 2015-01-05 14:49:37 +01:00
Lucas GAUTHERON 159d4c5344 sg attack delay compromise
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7551 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-09-29 07:34:38 +00:00
Lucas GAUTHERON 2f55903ad0 messy patch tmp revert
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7491 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-05-27 17:25:21 +00:00
Lucas GAUTHERON 590c94b290 saner recoil values
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7488 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-05-26 17:38:49 +00:00
Lucas GAUTHERON 624dd348d7 make the server store more map data (more accurate pickup calculations)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7487 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-05-26 16:40:57 +00:00
Lucas GAUTHERON c428be31f4 prevent clients from downloading a demo twice
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7344 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-03-10 20:37:51 +00:00
Lucas GAUTHERON ec274ae926 prevent namechange/setskin spam
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7309 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-03-05 14:08:24 +00:00
Lucas GAUTHERON c7b1fa19c2 distinguish auto-banned clients from vote-banned clients
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7307 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-03-05 12:37:49 +00:00
Lucas GAUTHERON 8d5d52351d serverevents cleanups (scopeevent removed)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@7022 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2013-01-01 15:32:38 +00:00
Lucas GAUTHERON 3ed3c3a8d4 new weapon stats (windows binaries included)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6981 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-12-16 16:32:52 +00:00
aerkefiende 4e9c904bcf AR spread behaviour: 18, 23, 33, 55, 55, 55 (instead of 18, 23, 33, 33, 60, 60)
AR damage from 24 to 22, and less recoil
windows binaries

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6957 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-12-07 21:23:13 +00:00
aerkefiende 23e7c9e900 Less ammo for AR: not 15, nor 20, 18 is the goal!
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6955 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-12-07 16:46:03 +00:00
aerkefiende 09b4722664 Carbine reduced to 50% piercing (after Ronald increased it from 50 to 55)
AR back to 20 bullets (40 per box, 60 per spawn, 60 max ammo)
Windows binaries

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6952 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-12-07 00:29:47 +00:00
Ronald Reagan 1c4567f1fe Changelog updated (added changes between 6862 and now), armourignore -> piercing, carbine piercing 50->55
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6947 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-12-05 07:07:46 +00:00
Ronald Reagan cc2ccf26c7 Added guninfo armourignore which is a percentage of reduced damage from armour to ignore. Knife is unchanged, it ignores all of it, carbine ignores half of it
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6937 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-11-24 00:05:56 +00:00
aerkefiende 263087ecdf Weapon changes according the testing session (incl. new windows binaries)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6935 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2012-11-18 12:18:17 +00:00