Commit Graph

964 Commits

Author SHA1 Message Date
Brad
cfbdbf14aa Updated code to be more consistent with codebase 2020-10-25 15:54:08 -04:00
Brad
11f747cc5f Added is_dead check to item pickup 2020-10-25 03:40:34 -04:00
jshipsey
64d73abdec roshwalr fix 2020-10-19 16:20:59 +02:00
jiminycrick
50aac17d94 Added secondary skills to agent code (except bow) 2020-10-19 16:20:58 +02:00
Enrico Marconi
80b863da3b Fix #793 2020-10-18 11:03:02 +02:00
Sam
e6684009c2 Made ability key not hardcoded in tool.rs. 2020-10-15 20:05:58 -05:00
Sam
d869f7e430 Moved explsion struct from within comp to common. 2020-10-14 21:06:55 -05:00
Sam
14e4af7ab6 Addressed playtesting feedback. 2020-10-14 21:06:52 -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
f1c9b959f4 rename a file, fix error msg, dont spam persistence by default 2020-10-13 00:06:24 +02: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
39f78e9116 Remove saves dir env var and setting from server settings and just always use saves as the dir name 2020-10-10 02:15:54 -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
308cca0dc9 Put server-cli specific settings in their own structure, serde_derive -> serde 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
Imbris
26d59a62fc Downgrade debug -> trace in persistence code 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
Ben Wallis
51459c0733 Implemented graceful shutdown on SIGUSR1 signal. Added shutdown <seconds> TUI command. Added abortshutdown TUI command. Fixed a bug in TUI that caused a panic on quit in basic mode on windows. 2020-10-04 21:24:45 +01:00
Sam
47abf49751 Addressed comments 2020-09-29 20:48:23 -05:00
Sam
0b80257aa3 Add migration 2020-09-29 19:48:15 -05:00
Sam
a8f31cbe6f Beam tick rate now more responsive when aiming. 2020-09-29 19:48:14 -05:00
Sam
ffe456c703 Fixed what broke after rebasing. 2020-09-29 19:48:13 -05:00
Sam
de45784596 Addressed round of testing feedback. 2020-09-29 19:48:09 -05:00
Sam
18c2b850d3 Added healing healthsource logic to beam system. 2020-09-29 19:48:08 -05:00
Sam
46563e7008 Added beam system. Added collision code for spherical wedge/cylinder detection. 2020-09-29 19:48:04 -05:00
Sam
6b23af6e0b Tweaked particles. Added skill icons. 2020-09-29 19:47:58 -05:00
Sam
8b9202710f New sceptre M2 is functional. 2020-09-29 19:47:57 -05:00
Forest Anderson
25ab132d73 Merge branch 'xvar/add-clone-on-ref-ptr-clippy-lint' into 'master'
Added #![deny(clippy::clone_on_ref_ptr)] to all crates and fixed resulting lint errors

See merge request veloren/veloren!1411
2020-09-28 19:32:03 +00:00
Joshua Yanovski
b9528da8f6 Improve chunk space consumption by a lot.
3x - 5x depending on terrain.  We can do a lot better but this is a good
start.

Also, added chunk group count to metrics.  This correlates with memory
usage specifically by chunk voxel data in a much more direct way than
chonk or chunk count do, so this should provide extra useful information
(especially for our average overhead per chonk / chunk).
2020-09-28 13:35:49 +02:00
Imbris
c8d7bf3aad Merge branch 'xvar/remove-option-from-characterloader-channels' into 'master'
Removed unnecessary Option around send and receive channels in character_loader.rs

See merge request veloren/veloren!1412
2020-09-27 22:30:25 +00:00
Ben Wallis
9178327e09 Removed unnecessary Option around send and receive channels in character_loader.rs 2020-09-27 22:12:41 +01:00
Ben Wallis
1205820e8b Preserve admin component if present on return to character select screen 2020-09-27 20:25:00 +01:00
Joshua Yanovski
443f3287e4 Merge branch 'sharp/remove-spurious-vox' into 'master'
Remove spurious uses of Vox.

See merge request veloren/veloren!1406
2020-09-27 16:41:29 +00:00
Ben Wallis
b3dd8e8a02 Added #![deny(clippy::clone_on_ref_ptr)] to all crates and fixed resulting lint errors 2020-09-27 17:25:33 +01:00
Ben Wallis
099dfaae9c Added several missing items that didn't exist in any inventories/loadoads on the production server to the item_persistence migration 2020-09-27 14:51:57 +01: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
Joshua Yanovski
103bda2230 Removed redundant code missed in auth merge. 2020-09-22 18:21:31 +02:00
Marcel Märtens
8eec46424f switching veloren naming scheme, to either one of the following:
`stable-0.7.0 (<hash>-<datetime>)` for release versions.
And
`nightly-<date> (<hash>)` for nightly and master versions

Reason is, many players only give information that they are running `0.x.0` but are not giving us the information which day, or commit they are running. So we should make master builds less confusing.
2020-09-22 11:47:18 +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
Joshua Barretto
0ca42857fa Addressed review issues 2020-09-21 21:10:32 +01:00
Joshua Barretto
388a899a7f Added make_sprite command 2020-09-21 16:39:20 +01:00
Joshua Barretto
49d1b3df6d Improved docs 2020-09-20 11:46:12 +01:00
Joshua Barretto
ece4a01867 Improved representation of Block for better performance, more features, and better backwards-compatibility 2020-09-20 11:46:12 +01:00
Sam
45fef87f32 Addressed comments 2020-09-19 14:40:21 -05:00
Sam
e39770d1d9 Golem now spawns in dungeon. 2020-09-19 14:40:20 -05:00
Sam
d0f068ba63 Fixed shockwave and melee crit damage bypassing infinite armor. Made knockback not be applied if infinite armor. 2020-09-19 14:40:18 -05:00
Sam
6327dd18b6 Moved knockback to a server event so that it would actually be applied to the player. 2020-09-19 14:40:17 -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
717142d5ea Started to implement shockwave system. 2020-09-19 14:29:06 -05:00
Sam
68ecfba291 Projectile speed is no longer hard-coded. 2020-09-19 14:29:05 -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
scott-c
2686598f1f Improve first-person projectile aiming 2020-09-19 19:14:23 +08:00
Snowram
f9fada87cf Addresses comments 2020-09-18 18:45:03 +02:00
jshipsey
5bb45a4861 spawn tweaks, improved odonto 2020-09-17 22:32:11 -04:00
jshipsey
cd6e1ad45f haul out the critter skele, add theropod 2020-09-17 22:32:10 -04: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
bdff4bc04c Prevent client from ignoring Kicked event 2020-09-14 07:54:05 +02:00
tylerlowrey
9e7ec63800 Converted banlist to use Uuids as the key instead of the username 2020-09-14 07:54:05 +02:00
tylerlowrey
2c55afcfa9 Added username_to_uuid convenience function to LoginProvider 2020-09-14 07:54:05 +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
d57adc518e Removed unnecessary clone in ban handling function 2020-09-14 07:54:05 +02:00
tylerlowrey
4653eb63c4 Converted banlist from vector of tuples to HashMap 2020-09-14 07:54:05 +02:00
tylerlowrey
30c3146682 Added main menu kick message with kick reason after player is kicked 2020-09-14 07:52:31 +02:00
tylerlowrey
fee79720ee Added ban message with reason when banned user attempts to login to server 2020-09-14 07:52:31 +02:00
tylerlowrey
f171e4e870 Removed usage of AuthProvider as AuthProvider no longer exists 2020-09-14 07:52:31 +02:00
tylerlowrey
c3c4b88fe7 Added banlist check to try_login method 2020-09-14 07:52:31 +02:00
tylerlowrey
f402df2c56 Altered ban so that it kicks the player as well 2020-09-14 07:52:31 +02:00
tylerlowrey
e9348f2fb5 Fixed requiring a restart in order for banlist to take effect 2020-09-14 07:52:31 +02:00
tylerlowrey
ea4f9b9a36 Added unban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
c2a7fc1586 Prevent multiple bans of same player 2020-09-14 07:52:31 +02:00
tylerlowrey
def21af02b Added ban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
dadb1fbe12 Added kick command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
3bc57b4087 Added banlist to server settings and added default value 2020-09-14 07:52:31 +02:00
Imbris
c3ae641fbb Merge branch 'imbris/tracy' into 'master'
Add more tracing instrumentation and tracy support

See merge request veloren/veloren!1359
2020-09-10 05:07:51 +00:00
Matthew Martin
57c6160b72 * Set the KillType to Other for HealthSource::Healing
* Extend logic to projectiles and explosions
2020-09-09 23:34:10 +02:00
Matthew Martin
a9086b27a0 Do not make healing items deal damage 2020-09-09 23:22:49 +02:00
TheThirdSpartan
7fd673ecb2 Added localization config options for new death messages 2020-09-09 20:26:20 +00: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