Commit Graph

252 Commits

Author SHA1 Message Date
Marcel Märtens
2290efd219 remove clippy warnings no longer needed 2020-11-03 08:55:44 +01:00
Marcel Märtens
e9be36c993 replace the single message system with 5 message systems. one per stream to handle less ECS systems PER msg system.
As the MAIN message system was already on 25 of the max of 26 possible Ressources
2020-11-03 08:55:42 +01:00
Marcel Märtens
9459ccf61b working on implementing seperated msg system.
Does compile, but only reach connection till character screen.
Full play not yet possible
2020-11-03 08:55:36 +01:00
Marcel Märtens
dd966dd00e remote all streams from Client and put it directly in the ecs system.
This commit does not run compile as the message sys now would requiere 30 imput parameters which is over the max of 26 :/
2020-11-03 08:55:35 +01:00
BottledByte
7ab99a3bbf Initial WIP implementation of the Buff system 2020-10-26 19:28:14 -05:00
Sam
d869f7e430 Moved explsion struct from within comp to common. 2020-10-14 21:06:55 -05:00
Sam
1c21362bc3 Fixed shockwaves hitting entities multiple times. Explosions can now regen energy. Staff M1 now has particles instead of using bomb particles. 2020-10-14 20:56:23 -05:00
Sam
cbb72363af Reworked explosions. Tweaked staff fireball. 2020-10-14 20:56:21 -05:00
Marcel Märtens
2a7378b4ae pack together InGame, CharacterScreen and General variant in a single enum, as requested by zesterer.
His reason to reqeust that is, that there might not be a perfect disctinction in the future.
Now we need to send ServerGeneral over streams and do additional checking at various places to verify that not the wrong variant is send.
2020-10-12 11:27:21 +02:00
Marcel Märtens
55b59fbe07 various small fixes according to the MR 2020-10-12 11:25:20 +02:00
Marcel Märtens
00c66b5b9c remove a Mutex and AtomicBool 2020-10-11 23:02:39 +02:00
Marcel Märtens
ff374eab59 create a ServerMsg and ClientMsg enum and verify the state when in debug mode to benefit from the transition 2020-10-11 22:59:53 +02:00
Marcel Märtens
e8452fafc6 fix naming, replace NotInGame with CharacterScreen 2020-10-11 22:55:38 +02:00
Marcel Märtens
8b40f81ee2 No longer block the main thread for client connections, new clients will be handled by server without waiting.
- Instread we have a dedicated thread that will async wait for new participants to connect and then notify the main thread
- registry no longer sends a view distance with it.
- remove ClientMsg::Command again as it's unused
2020-10-11 22:55:02 +02:00
Marcel Märtens
017e004309 Rename enums to allow a super enum in the future, but i am not yet sure if we want to introduce this yet
```
//This is a helper structure, containing all possible data send over
pub enum ClientMsg {
    Initial(ClientType),
    General(ClientGeneralMsg),
    InGame(ClientInGameMsg),
    NotInGame(ClientNotInGameMsg),
    Register(ClientRegisterMsg),
    Ping(PingMsg)
}
```
2020-10-11 22:49:25 +02:00
Marcel Märtens
b1db5ef488 Redo Network Frontend.
Rather than having a single Stream to handle ALL data, seperate into multiple streams:
 - Ping Stream, for seperate PINGS
 - Register Stream, only used till the client is registered, then no longer used!
 - General Stream, used for msg that can occur always
 - NotInGame Stream, used for everything NOT ingame, e.g. Character Screen
 - InGame Stream, used for all GAME data, players, terrain, entities, etc...

This version does compile, and gets the client registered (with auth too) but doesnt get to the char screen yet.

This fixes also the ignoring messages problem we had, as we are not sending data to the register stream!
This fixes also the problem that the server had to sleep for the Stream Creation, as the Server is now creating the streams and client has to sleep.
2020-10-11 22:49:14 +02:00
Imbris
fa45edb541 Fix clippy, minor fmt, add TODO comments 2020-10-10 03:01:30 -04:00
Imbris
71251ca6a6 Change admins from Vec<String> into Hashset<Uuid>, add commands to server-cli-bin for adding and removing admins 2020-10-10 02:10:32 -04:00
Imbris
ca2bf937e6 Apply saves dir override when loading settings, change whitelist to a HashSet, let admins login even if they are not on the whitelist to reflect the comments in login code 2020-10-10 02:10:32 -04:00
Imbris
83fb26c4f9 Group editable server settings into one struct that is stored in the ecs, don't expose DataDir, use Uuid in the whitelist instead of usernames, replace Banlist record tuple with new type with named fields, remove commented code 2020-10-10 02:10:32 -04:00
Imbris
fb2cf1a292 Fix clippy warnings 2020-10-10 02:10:32 -04:00
Imbris
7c14a3f4a4 New userdata folder that holds voxygen settings and logs and server saves and settings, split up server settings file into parts that are persisted back to their files and parts that are read-only, misc fixes 2020-10-10 02:10:32 -04:00
Monty Marz
2b800a2b63 make clippy happy
Delete glider.ron
2020-10-07 02:23:20 +00:00
Sam
a8f31cbe6f Beam tick rate now more responsive when aiming. 2020-09-29 19:48:14 -05:00
Sam
46563e7008 Added beam system. Added collision code for spherical wedge/cylinder detection. 2020-09-29 19:48:04 -05:00
Sam
8b9202710f New sceptre M2 is functional. 2020-09-29 19:47:57 -05:00
Joshua Yanovski
938039a56e Remove spurious uses of Vox.
In the process, also try to address a few edge cases related to block
detection, such as adding back previously solid sprites and removing
filters that may be vestiges of earlier logic.
2020-09-26 16:30:40 +02:00
Sam
b4018e7d42 Made 3rd ability interruptible. Final balance tweaks. 2020-09-21 17:40:16 -05:00
Sam
fe70b7fbce Addressed second round of feedback. 2020-09-21 17:38:53 -05:00
Sam
b06ab250cc Addressed first round of feedback on sword overhaul. 2020-09-21 17:38:52 -05:00
Sam
e39770d1d9 Golem now spawns in dungeon. 2020-09-19 14:40:20 -05:00
Sam
3e4615daea Loadouts are now generated with loadout_builder.rs. Creatures spawned naturally and via command are now spawned with the same mechanics. 2020-09-19 14:40:14 -05:00
Imbris
829d8a20d1 Add shockwave system to handle shockwaves colliding with other entities 2020-09-19 14:40:10 -05:00
Sam
66b0fee3c7 Separated knockback out from basicmelee. Added weapon for cyclops boss to use, and added 1 ability to it. 2020-09-19 14:29:04 -05:00
jshipsey
ecae71c016 gliders as items. anim improvements 2020-09-17 22:32:09 -04:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
Marcel Märtens
cb6fa52eae fix client stats, difference client/player 2020-09-17 00:19:48 +02:00
Marcel Märtens
3c58b64689 add detailed information on state tick timings 2020-09-16 18:24:18 +02:00
Marcel Märtens
184d405f10 Better Metrics for Server
- Player online is now seperated into players connected and disconnected and is event driven
 - Metrics for ChunkGeneration: this is the server side for tracking actuall generation
 - Metrics for Chunk Network Requests
2020-09-16 18:14:04 +02:00
Joshua Yanovski
19485b6a00 Add a DisconnectReason enum. 2020-09-14 08:16:09 +02:00
tylerlowrey
2b0c1e89f3 Refactored kicking the player into its own function + ran fmt on project 2020-09-14 07:54:05 +02:00
tylerlowrey
c3c4b88fe7 Added banlist check to try_login method 2020-09-14 07:52:31 +02:00
Imbris
f39d1e9bb5 Use less verbose span names when the tracy feature is off 2020-09-07 00:59:16 -04:00
Imbris
0683a40741 Use finish_continuous_frame directly 2020-09-06 22:28:14 -04:00
Imbris
63d60c212c Add spans to server systems 2020-09-06 22:28:14 -04:00
Marcel Märtens
961b8a4d7c Implement the Player Timeout as config 2020-09-06 23:34:57 +02:00
TheThirdSpartan
6dbd1bc132 adding feature requested in issue #153 - displaying your alias in game as 'you' 2020-09-06 19:42:32 +00:00
Joshua Yanovski
3a96b73b2c Move figure meshing to a background thread. 2020-08-28 05:25:31 +02:00
notoria
2be4202d01 Corrected some spelling errors 2020-08-25 12:21:25 +00:00
Monty Marz
55d126861f fix tooltips in char selection, more balancing
fix talking animals

fix critter exp, stronger villagers

biped large balancing

more villager balancing, mushroom spawning rate

more balancing

fix rebase

multiple loottables

Add tarasque and bonerattler armour

Added loot tables for different groups of weapons and armor based off relative strength. Added loot table for cultist boss.

Added loot tables for consumables and food. Trimmed down default loot table.

remove male and female sign from char creation

chest loot tables

fix loot tables

lootable crates

lantern keybinding display

more loot tables

loot table changes

fixed loot tables

fix typo
more grass

rebase fix, better lantern

re-add sprite rotation for grass

crafting window alignment fix, new streetlamps, new shopsigns, new healing staff

height change
2020-08-21 19:36:19 +02:00