Commit Graph
1460 Commits
Author SHA1 Message Date
drian 3acb20426b added 'pause' to the ingame doc reference 2021-04-14 14:45:56 +02:00
drian 85149fe3e5 updated documentation in server commandline file 2021-04-14 14:04:54 +02:00
drian 550cff1c78 updated documentation in server commandline file 2021-04-14 13:58:19 +02:00
drian 4fd14cf6c2 #108 not only validate the PAUSE vote clientside but also server-side to reduce abuse 2021-04-14 09:47:48 +02:00
drian affe1dc6bd Merge branch 'master' into release_1.3 2021-04-14 05:52:05 +02:00
RandumKiwiandGitHub 645a3668e9 Remove the "quit" menu
First: it's ugly,
Second: it's not that useful,
Third: it's not so labourious to restart AC as it loads quickly.

Quit menu = GONE.
2021-04-12 07:17:49 +12:00
drian 456dc060f4 accuracy stats were missing in scoreboard settings menu 2021-04-09 06:21:56 +02:00
drian 612d512ddd typo 2021-04-06 06:42:13 +02:00
drian 4cb6840f23 #243 menu back-navigation is not standardized 2021-04-06 06:41:38 +02:00
drian 887722ffc1 bumped version number 2021-04-04 15:02:03 +02:00
drian 90baed224c check if accounts exists when navigating to LAN connect, custom connect or admin connect, fixed 'savedpass' warning 2021-03-31 11:53:06 +02:00
drian e2af70a81a alt + tab does not minimize window in fullscreen mode 2021-03-22 09:02:27 +01:00
drian aa44088b8d fixed typo in startup msg 2021-03-13 05:33:48 +01:00
drian 5bbe9c2fd2 added input validation to 'create game account' menu 2021-03-12 06:33:57 +01:00
drian 6f9e89e407 updated disclaimer 2021-03-12 05:43:56 +01:00
drian e5995441c7 #231 Issues with the new 'game account' concept 2021-03-10 13:36:47 +01:00
drian 5634c380e2 #229 quick setup menu: nickname disappears when applying the resolution set as on the desktop 2021-03-08 20:20:45 +01:00
drian 162a078ee9 made al_referencedistance and al_rollofffactor unconfigurable to prevent players getting an unfair advantage 2021-03-08 16:31:37 +01:00
drian 80e53b6451 integration of auth menus 2021-02-15 17:29:55 +01:00
drian b615fe449e Merge remote-tracking branch 'remotes/origin/next' into release_v1.3 2021-02-10 21:00:09 +01:00
drian e39de97f2f Merge remote-tracking branch 'remotes/origin/experimental' into release_v1.3 2021-02-10 19:54:05 +01:00
aurhat f58ea22b46 Replace *.ac-akimbo.net pck servers by packages.cubers.net 2018-05-20 12:26:21 +02:00
ac-stefandaurhat 7b5c91a3da temporary win10 hotfix changes
Some changes to allow the current experimental branch to be used for a
hotfix release for win10 users.

The latest win10-update broke compatibility with SDL1.2 - and apparently
MS is not going to fix it. This hotfix allows win10 users to use our
experimental SDL2-based client.

It is quite incompatible with the 1.2.0.2 release - but it's good enough
to be played in pubs.

Coopedit will not work and quite a few custom maps won't work properly.
This is due to lots of changes in the map file format and does not mean,
that those custom maps can not be played in future game releases - they
just need to be reworked. See akimbo2 to check out the reworked maps, btw.
The old official maps and most conservative custom maps should be fine.

Due to some physics changes, players of the hotfix client will have some
advantages and some disadvantages compared to the regular clients, so DO
NOT USE THE HOTFIX CLIENT TO PLAY COMPETITIVELY.

By default, if an incompatible map is loaded in multiplayer, the client
will disconnect automatically. This can be disabled (disconnectonmaperror),
but will probably get you marked as cheater, because on incompatible maps,
model clipping may not work properly. Just stick to compatible maps...
2018-02-10 11:28:51 +01:00
ac-stefandaurhat e5077d0226 use both keycodes and scancodes of keypress events
If a keycode can not be found on the list from keymap.cfg a second search
is done for the scancode. This should be helpful to assign
layout-dependent keys with rare keycodes.

Also: use a hash table for the keys (instead of a list).

Add two new scan codes for dead keys on german layouts: LEFTOF1 and
LEFTOFDEL.
2018-02-10 11:28:50 +01:00
ac-stefandaurhat f0f8eac770 remove most platform dependent exceptions for SDL2 code
* switch travis to trusty
* new parameter fullscreendesktop: uses desktop resolution for fullscreen
* "colorbits" removed, since it's no longer supported
* scr_w/scr_h no longer necessarily reflect the true display resolution
  (with fullscreendesktop = 1 and fullscreen = 1, scr_w and scr_h are
  ignored)
* desktopw and desktoph are now guaranteed to have nonzero values
* fallback to old mouse behaviour when SDL_SetRelativeMouseMode fails
* require a click into the window to grab the mouse
* scr_w/scr_h default to desktop resolution on first run

thx sauerbraten :)

DOCREF fullscreendesktop colorbits
2018-02-10 11:28:49 +01:00
ac-stefandaurhat e75dfbe4c7 fix/finish SDL2 port
* implement gamma
* menu keys fixed
* add support for horizontal mousewheel and some more mouse buttons
* fix keyrepeat
* fix window resizing
* fix compiler warnings
* use SDL to access clipboard
* remove X11-dependency
* some surplus SDL headers removed
* fix setdesktopres
* fix vsync
* improve fullscreentoggle on linux
* remove togglegrab
2018-02-10 11:28:49 +01:00
Jani-Markus Maunusandaurhat f86579533a Ported AC to SDL2 2018-02-10 11:28:48 +01:00
aurhat 9f537b0876 Fix unquoted semicolons
Thanks Robtics
2018-01-27 09:35:07 +01:00
aurhat c9d9b752a1 Update scripts for preparing Windows installer
Also cleanup
2017-11-25 03:06:06 +01:00
aurhat a9c73cb50b Update docs
Compatible with the tree in assaultcube.github.io for #49dacb0 commit.
2017-11-25 00:43:47 +01:00
aurhat 830f8c0cf7 Cleanup
Thanks DADSGETNDOWN for the report for maps/mapmodel configs.
2017-11-18 14:04:59 +01:00
aurhat 1d7dd9df84 Cleanup 2017-10-15 12:14:20 +02:00
aurhat 803517e2ef Improve maps menus
Map message moved on the right.
2017-09-04 22:49:01 +02:00
ac-stef 059ea1e992 fix omitunchangeddefaults 2017-08-05 10:49:10 +02:00
aurhat 87555d774a Update docs
Compatible with tree in assaultcube.github.io for #68e4c1b commit.
2017-07-19 21:13:00 +02:00
ac-stef 59c3d1756d add option to grey out menu items
greyed out menu items are a) grey and b) can't be operated

  menuitemgreyedout 0|1

    menu items added after this command are greyed out (1) or not (0)

DOCREF menuitemgreyedout
2017-07-09 11:30:29 +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
ac-stef 7cddb6c7c6 add debug logging to demo recording
fix server hanging after 5th demo
fix incomplete demo slot cleanup
fix demo file size reporting (enddemorecord can't do it accurately, because
  the file is not complete, yet - so, round to megabytes, where the error
  doesn't show...)
include exact demo file size in "listdemos" report
2017-06-27 15:15:24 +02:00
ac-stef 7d1edd0fa1 cleaned up demo filename nonsense
If a filename does not contain at least mode, map and timestamp (due to
messed up format strings), the default format is used to ensure unique
filenames.

server side: added server parameters

  demo_max_number
    number of demo files to hold in RAM

  demo_save
    enable/disable writing of demos to file

  demo_path
    demo file path and filename prefix

  demo_filenameformat
    format string to assemble demo information to a filename
    %g : gamemode (int)
    %G : gamemode (chr)
    %F : gamemode (full)
    %m : minutes remaining
    %M : minutes played
    %s : seconds remaining
    %S : seconds played
    %h : IP of server
    %H : hostname of server (client only)
    %n : mapName
    %w : timestamp (formatted by demo_timestampformat)

  demo_timestampformat
    timestamp format string (see strftime() for format options)
    if the string starts with 'U', UTC is used - otherwise local time

client side:

changed demonameformat and demotimeformat to SVARs

  demonameformat
    like demo_filenameformat

  demotimeformat
    like demo_timestampformat

removed demotimelocal getdemonameformat getdemotimeformat getdemotimelocal

DOCREF demonameformat demotimeformat
DOCREF demotimelocal getdemonameformat getdemotimeformat getdemotimelocal
2017-06-27 15:15:24 +02:00
ac-stef df6719439b optionally reverse influence of previously played games modes
a negative modepenalty_weight value makes the server more likely to
suggest games with the same mode as was recently played

default is a positive value to more likely mix it up
2017-06-27 15:15:24 +02:00
ac-stef daf4b9d24a add server parameters for statistic and diagnostic purposes
Logged server parameters are checked for changes once a minute. If a
change is detected, it is logged.
2017-06-27 15:15:23 +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 dd295bb54a initialise server parameters from commandline
overwrite defaults with commandline parameters before first use
(log level settings used as an example)
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 2147d60934 option to dump maprot suggestions to file 2017-06-27 15:15:22 +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 7486317497 add changeable server parameters
A list of parameters is read from config/serverparameters.cfg once per
minute and the values written to corresponding server data structures.

If the binary is compiled in debug mode, starting a dedicated server
will write a blank config file with all possible parameters and their
descriptions, sorted and grouped into chapters.

The name of the config file can be set with the commandline parameter -A.

So far, syntax errors are not reported. Instead, it's possible to dump
all current values to a file every time something changes.
2017-06-27 15:15:22 +02:00
ac-stef b82a38b2e2 read-ahead for server info files
* poll and read motd and serverinfo along the other server config files
* "en" language setting is now immutable
2017-06-27 15:15:22 +02:00