Commit Graph

53 Commits

Author SHA1 Message Date
Benau
b613c2c989 Make new startup boost and penalty working in network 2018-09-14 22:23:37 +08:00
Benau
df69e7f6b6 Implement capture and return of flags 2018-08-18 01:05:00 +08:00
Benau
64595a7b18 Initial work on FFA in network 2018-08-13 00:59:20 +08:00
Benau
7ebd1fabd9 Add exception handling to prevent player hacking network string 2018-07-19 14:23:35 +08:00
Benau
c5cdfcebfe Finish soccer mode in network 2018-07-18 16:37:09 +08:00
hiker
b0da0f640a Merge remote-tracking branch 'origin/master' into network-items,
fixed conflicts.
2018-06-08 10:55:14 +10:00
Benau
d89c65b0c9 Remove token in network string 2018-06-04 13:25:10 +08:00
hiker
9d60112e65 Started to implement proper item handling: the server now sends
updates of all collected items to the clients as part of a state.
A client confirms the received states. Once all clients have
confirmed a certain event, that event is deleted on the server
and not sent anymore. WIP, item collection kind of works, but only
because of kart state updates which include attachment (but not
e.g. nitro).
2018-05-08 19:12:06 +10:00
Benau
d4fb888ffa Eliminate disconnected kart 2018-04-20 12:19:58 +08:00
Benau
2dd9174b3a Remove unused code in game events protocol 2018-04-20 12:19:58 +08:00
Benau
1b8d4c80dc Initial work to port network profile to use weak_ptr 2018-03-14 15:48:02 +08:00
Benau
5600d01b2c Use shared_ptr of STKPeer if needed 2018-03-09 23:54:13 +08:00
Benau
5756fd5f48 Use a mutex to make only 1 enet_peer_send happening
In reality we need mutex to protect enet_host_service, but it leads
to seriously increased locked time
2018-03-09 23:00:47 +08:00
hiker
32daf4ce29 Removed unused functions. 2016-12-07 09:34:33 +11:00
hiker
6053ad207f Don't use the SynchronisationProtocol for startup state changes at all.
It is now totally optional, and only estimates the latency between the
server and all clients (and this value is not even used).
2016-11-25 22:17:24 +11:00
hiker
ba600f40f2 The server waits now for all client to start (which means it will be
behind the clients by the maximum latency, which in turn means that
at server time T all client events at time T have arrived, so less
rollback necessary).
2016-11-16 08:48:04 +11:00
hiker
fda3afad93 Fix 2658 by separating networking code from main loop. 2016-10-27 21:33:42 +11:00
hiker
2c56837ee8 Fixed token handling. 2016-10-27 08:41:35 +11:00
hiker
3243f81f10 Avoid crash. 2016-10-11 18:02:11 +11:00
hiker
09ce5515b0 Avoid extrapolation by making sure the client starts after receiving
a message from the server, and only updating the previous position
if the new previous position is indeed before the current client time.
Fixed conflicts, removed dumb-client related interpolation code, left
client starting in place.
2016-10-11 08:44:17 +11:00
hiker
d25f3cee25 Added time step size as parameter to each protocol's synchromous update
function (which is needed for interpolation later).
2016-03-19 10:24:44 +11:00
hiker
f2c26f06f1 Another refactoring of NetworkString, this time added support for sequential
reads, so that you don't need to specify the offset anymore (and no more
removeFromFront).
2016-03-13 13:49:43 +11:00
hiker
e1892bc4fd Try to fix handling a kart finishing the race. 2016-03-02 16:58:41 +11:00
hiker
052e369df2 Removed unnecessary setting of token, use ProtocolManager sendExcept
instead of loop.
2016-03-01 16:45:42 +11:00
hiker
58505eeb88 Started to set token in the 'lower level' functions, removing the need
to set the token in each protocol. Started to remove some of the
unnecessary send* functions.
2016-02-28 15:54:43 +11:00
hiker
9a16595261 Renamed NewNetworkString to NetworkString. 2016-02-28 14:58:15 +11:00
hiker
98ba11d9ba Started to introduce new network string. It compiles, but certainly
does not work yet.
2016-02-23 16:29:57 +11:00
hiker
2f0a69525a Use kart id instead of kart name to identify kart that has collected an item. 2016-02-15 18:16:31 +11:00
hiker
132ecfe409 Created separate function for handling received collectedItem messages. 2016-02-15 18:00:09 +11:00
hiker
d15a234ace Let only the server decide when a kart finished the race. Notify
all clients if this happens.
2016-02-15 17:45:24 +11:00
hiker
878760ed2d Fixed GameEventProtocol (e.g. collecting items). 2016-02-03 09:07:15 +11:00
hiker
c1560ddb02 Renamed getPlayerID() to getGlobalPlayerId(); started to refactor
StartGameProtocol.
2016-01-06 08:10:03 +11:00
hiker
c222ba2ebd Added documentation and minor cosmetic changes. 2015-12-16 18:31:03 +11:00
hiker
c9bf95079c Cosmetic changes only. 2015-12-16 08:22:30 +11:00
hiker
2f126ab226 Moved NetworkPlayerProfile into its own file, added getter and
setters for it.
2015-11-26 07:41:37 +11:00
hiker
83154ae3a7 Converted the CallbackObject to actually call a function. This
means that if protocol A starts protocol B and needs a result from B,
previously B would set a (potential private) variable in A. Now
B calls a callback in A, where the result can be set.
2015-10-29 18:27:55 +11:00
hiker
6297d8c65d Removed NetworkManager and ClientNetworkManager. 2015-10-27 08:23:59 +11:00
hiker
4c0a195fdd Moved handling of peers from NetworkManager to STKHost. 2015-10-26 08:33:07 +11:00
hiker
85cca69113 Moved GameSetup handling from NetworkManager to STKHost. 2015-10-25 00:19:30 +11:00
hiker
350f434c37 Started to refactor network code. 2015-10-24 12:39:17 +11:00
hiker
e6ae208b4f Removed many unnecessary copies of NetworkString. 2015-10-22 21:43:06 +11:00
hiker
1f4f2bce86 Coding style changes. 2015-10-22 16:03:11 +11:00
hiker
f297c92039 Removed more includes of event.hpp in hpp files. 2015-10-21 17:39:53 +11:00
hiker
40629d9816 Changed Event's m_peer from STKPeer** to STKPeer *. Fixes some minor memory leaks. 2015-10-21 08:11:35 +11:00
hiker
9cdf7058a7 More coding style fixes. 2015-10-21 08:07:00 +11:00
hiker
9a55da5c2c Reserve space for NetworkStrings (to reduce copying when reallocating). 2015-10-16 00:03:23 +11:00
funto66
a6d4d423da Fix compilation on VC2010
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14660 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-08 08:10:20 +00:00
hilnius
d265c7e7be adding code to synchronize also hits on bananas
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/hilnius@13433 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-08-07 12:48:16 +00:00
hilnius
372689f0bb fixing multiple bugs in item selection events protocol
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/hilnius@13432 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-08-07 12:32:38 +00:00
hilnius
149875d83c moving some code to make the server execute it
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/hilnius@13423 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-08-06 20:59:19 +00:00