Commit graph

609 commits

Author SHA1 Message Date
smallmodel
cce81cabff
Implement multi-master queries and heartbeats (#717)
Some checks are pending
Build branch / build-all (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Implement multi-master server list query and multi-master heartbeats. The server list is fetched from multiple masters to improve redundancy, reliability and performance. This improves multiplayer availability by implementing support for using multiple masters.
- The server sends an heartbeat to all masters at once
- The client can query up to 4 masters in parallel depending on their rate
2025-04-27 22:14:08 +02:00
smallmodel
73b4569c07
Add Com_InitGameSpy() for future use 2025-04-22 22:51:06 +02:00
smallmodel
a2bbf6cff8
Use functions that return master host information
This splits gamespy client-specific and server-specific code and add common gamespy code to provide more flexibility in the future
2025-04-22 21:40:34 +02:00
smallmodel
64f62583ce
Set a more explicit version number
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 44s
Makes it easier to identify the currently running OPM version from the server list, useful for troubleshooting and checking if the server is up to date
2025-04-20 21:42:33 +02:00
smallmodel
5530d3051b
Fix missing spaces between product information in the logfile
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 1m16s
2025-04-19 21:36:58 +02:00
smallmodel
42326ec708
Fix timestamps printed twice on the same line (#714) 2025-04-19 21:35:53 +02:00
smallmodel
f9db0ab8f9
Fix an access violation that would occur when opening the logfile before com_version is created (#708) 2025-04-01 22:07:05 +02:00
Sébastien Noel
921726e0b8
Fix a few typos (#699)
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-03-19 15:03:01 +01:00
smallmodel
456b660b2a
Improve the update checker so it can be opt-out (#696)
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 1m4s
* Add a cvar to enable/disable update checking

* Refactor update checker

This splits the thread part from the main part to clarify the code

* Move and update the configuration documentation, for a more general approach
2025-03-13 21:09:42 +01:00
smallmodel
aac91e8763
Refactor and simplify Alias_ListSort 2025-03-02 13:55:44 +01:00
smallmodel
5c0adf9a28
Refactor Alias_FindRandomRange 2025-03-02 13:49:01 +01:00
smallmodel
9963a99868
Fix a stack overflow issue (#686)
The length check now include the null-terminated character
2025-03-02 13:40:36 +01:00
smallmodel
08d0a378f8
Fix compilation fail when DEBUG_MEM is set (#677) 2025-02-24 13:38:33 +01:00
smallmodel
01381ed084
Add HTTP support and update checking
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 16s
2025-02-24 02:20:31 +01:00
smallmodel
076fd69131
Use the engine allocator to allocate/delete memory from the table of pointers 2025-02-19 20:11:07 +01:00
smallmodel
587f7f544e
Add REF_DLL for mem_blockalloc 2025-02-19 20:03:23 +01:00
smallmodel
178c486b83
Use NewEntry/DeleteEntry like con_set 2025-02-19 18:16:53 +01:00
smallmodel
004f88dae9
Use a better method for storing class lists
This prevents allocating a ClassDef just to act as a root list. The classlist would never be freed (memory leak)
2025-02-18 22:39:52 +01:00
smallmodel
97fe824b80
Clear subtitles for all nodes when deleting the alias list 2025-02-18 22:35:48 +01:00
smallmodel
758176dd32
Delete the waitTillSet when destroying the class 2025-02-18 21:52:35 +01:00
smallmodel
854c1980cc
Make EventQueueNode part of LightClass 2025-02-18 21:46:34 +01:00
smallmodel
a1d47cf64a
Add placement new/placement delete 2025-02-18 20:54:24 +01:00
smallmodel
49335ba8a8
Fix improper check of dir->path empty string
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 14s
2025-02-04 00:08:37 +01:00
smallmodel
ca2322a4da
Add recursive check in Com_Printf
This prevents recursive call to Com_Printf during localization and also remove localization errors
2025-02-04 00:03:30 +01:00
smallmodel
0b12d160bb
Properly construct all objects that has been allocated with AddObjectAt() 2025-02-03 21:28:13 +01:00
smallmodel
a5c59c4b77
Use maxDataSize when copying Event 2025-02-02 16:50:07 +01:00
smallmodel
8234ce1e5f
Add pragma once 2025-02-02 16:20:14 +01:00
smallmodel
e962e4e1f5
Use an int instead of a size_t 2025-02-02 16:03:40 +01:00
smallmodel
7f64ef05d5
Mark Event getter methods as const 2025-02-02 16:01:41 +01:00
smallmodel
9cb593c9e4
Add support for event subscription (delegates) 2025-02-02 15:58:04 +01:00
smallmodel
cfb343d262
Add str move constructor/assignment
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 13s
2025-02-01 15:52:58 +01:00
smallmodel
7b97ad6e2f
Add move constructor for ContainerClass and refactor it
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 23s
2025-01-31 22:53:31 +01:00
smallmodel
fdea2a2e92
Free the object list when moving the container 2025-01-31 22:46:35 +01:00
smallmodel
aa0085b57d
Improve the Container class by using move constructor on reallocation when possible
This greatly optimize memory and speed by moving objects instead of copying objects
2025-01-31 22:38:00 +01:00
smallmodel
3fa489c0f9
Add move constructor for SafePtr 2025-01-31 22:22:00 +01:00
smallmodel
7a8aa4eb84
Add placement new/delete for LightClass 2025-01-31 20:45:18 +01:00
smallmodel
d4bbaa41c3
Format safeptr source file 2025-01-31 20:45:11 +01:00
smallmodel
33dbb07559
Export game name and shortversion as information clients/servers can see 2025-01-28 19:30:17 +01:00
smallmodel
9bb4789b32
Add terrain flags
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 18s
2025-01-25 16:40:41 +01:00
smallmodel
33855cfbee
Implement add, subtract, scale, append and bitset
Some checks failed
Build branch / build-all (push) Failing after 17s
CodeQL / Analyze (push) Has been cancelled
2025-01-23 01:09:33 +01:00
smallmodel
98bb3e0366
Fix Com_SanitizeName infinite loop 2025-01-23 01:09:18 +01:00
smallmodel
90e46f535c
Add a random number next to the default name
Some checks failed
Build branch / build-all (push) Failing after 17s
CodeQL / Analyze (push) Has been cancelled
2025-01-21 23:26:21 +01:00
smallmodel
02fc573e31
Apply client and server config tweaks when loading the original config 2025-01-21 22:56:05 +01:00
smallmodel
45de1067bd
Fix localtime_r parameter
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 14s
2025-01-19 01:41:26 +01:00
DraGoN
c69ea0e4d8
Fixed parameter order in localtime_rand gmtime_r for FreeBSD, OpenBSD, and NetBSD
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 16s
2025-01-13 19:21:56 +01:00
smallmodel
1b5232c2d0
Fix compile errors
Some checks failed
Build branch / build-all (push) Failing after 18s
CodeQL / Analyze (push) Has been cancelled
2025-01-09 23:17:39 +01:00
smallmodel
089e68e85e
Add a cvar to opt out for logfile timestamps 2025-01-09 23:08:15 +01:00
smallmodel
a9ec7cff4f
Write the time before each message printed in the logfile 2025-01-09 22:23:02 +01:00
smallmodel
63c2b3642c
Print the version when opening the logfile 2025-01-09 21:42:12 +01:00
smallmodel
bbfd4ac280
Bump version number 2025-01-09 20:38:18 +01:00