Commit Graph

664 Commits

Author SHA1 Message Date
34dcc68e15
Optimize StatusController.updateStats 2024-06-28 22:55:10 +07:00
f95bc9762f
Minimally working Monster entities
PathController, PathFinder

Actor movement controller Lua bindings

Game loading no longer block Universe thread, more efficient registry population synchronization

Environmental status effects now can be stat modifiers
2024-06-28 22:44:13 +07:00
77a9beb665
Per player system message, display notification in chat when player is kicked off world 2024-06-02 21:52:17 +07:00
56c154cc96
provideConfigBindings 2024-05-25 21:16:46 +07:00
242f372819
Don't do anything in invokeGlobal if init has not been called 2024-05-25 19:33:11 +07:00
1d77cf8f98
String.limit 2024-05-24 12:27:19 +07:00
56f4fe46a6
Kick player who spams entity messages instead of rejecting them 2024-05-22 19:05:12 +07:00
e2d27e34a5
Decouple add from nextFreeIndex in IdMap 2024-05-22 19:04:37 +07:00
5769cff60b
Wait for clients to disconnect (within reasonable timeframe) before initiating server shutdown 2024-05-22 19:04:05 +07:00
8ef6bead2c
Add missing defaults to StatusControllerConfig 2024-05-22 19:03:42 +07:00
6729f2decc
BasicNetworkedElement.bumpVersion call from outside now properly notifies listeners 2024-05-22 19:03:11 +07:00
06a202bf17
applyParameters variant for ActorMovementController 2024-05-22 19:02:47 +07:00
8eb1db919f
Intern strings originating from Lua 2024-05-22 19:02:19 +07:00
e81079479b
Add PersistentStatusEffect as typealias 2024-05-22 19:02:04 +07:00
d1865900f6
JsonPatch apply now accepts json reader promise 2024-05-22 19:01:49 +07:00
69e0a8737e
Update Color replacement to be actually useful 2024-05-22 19:01:27 +07:00
b41d45b3e9
Synchronize item registry loading using universe thread 2024-05-22 19:01:05 +07:00
a2cc4ba6c3
Cleaner server shutdown 2024-05-22 19:00:42 +07:00
0b3aac6189
Game loading now no longer blocks universe thread and it can perform other work 2024-05-22 18:59:57 +07:00
2f782d7825
NetworkedMap.markIndexDirty 2024-05-22 18:59:13 +07:00
b4902559ac
Fix crash related to starbound data structure being dumb 2024-05-22 18:59:02 +07:00
1b7076f04f
Use Lua's random in util bindings 2024-05-22 18:58:30 +07:00
96fdcccdd0
More random generator compat with original engine 2024-05-22 18:58:11 +07:00
032f32626e
Make RGBAColorTypeAdapter accept hex strings as input 2024-05-22 18:57:42 +07:00
16ccb84d3b
Don't let through long nicknames 2024-05-16 22:25:26 +07:00
19324c6247
Add cli command arguments 2024-05-16 19:32:08 +07:00
67ac2b272e
Busy.png makes a nice loading icon 2024-05-12 21:10:37 +07:00
da9efdb765
paranoia 2024-05-10 20:19:13 +07:00
2d3c080002
Central structures placement and replacement, minimally working shipworld saving, some more save format inconsistencies dug up 2024-05-10 20:13:57 +07:00
9eaa6ea5f1
Minor adjustments in added bindings 2024-05-06 22:55:20 +07:00
7f16e643f3
Expose almost all World Lua bindings 2024-05-06 22:45:50 +07:00
be6f637d9b
Set generation caches to expireafterwrite, to reduce cpu pressure 2024-05-06 14:43:45 +07:00
19038dea7d
Fix Line2d.distanceTo 2024-05-06 14:18:38 +07:00
79e606f609
Rollback immediate placement, make custom terrain regions actually work 2024-05-06 13:50:05 +07:00
566751b77b
Immediate dungeon placement 2024-05-06 02:12:47 +07:00
161d19f263
Little faster big dungeon placement 2024-05-05 22:53:31 +07:00
74937b15ac
Oops 2024-05-05 22:34:45 +07:00
2a4b5ffb03
Server world Lua bindings 2024-05-05 22:34:18 +07:00
9104c7a46f
Floating Dungeon Worlds now can finally unload its chunks 2024-05-04 10:38:32 +07:00
a23493fa83
oops 2024-05-04 02:09:55 +07:00
b4940ce8ca
Native world storage, featuring fast unique entity index, atomic updates and paletted tile storage (does not require integer IDs to be assigned to materials/modifiers/liquids) 2024-05-04 02:06:52 +07:00
72d6db0a17
Make entity query Lua binding have less overhead 2024-05-03 17:07:21 +07:00
6ed51b6ae9
Lua message handlers 2024-05-03 16:52:00 +07:00
639aafce50
Now, at long last, unique entity index and messages 2024-05-03 16:13:16 +07:00
23dab02cc5
Eliminate unintentional entity tick time increase 2024-05-02 19:24:15 +07:00
b5c9b1f35a
Use synchronous=NORMAL in sqlite since we are using WAL 2024-05-02 17:54:48 +07:00
782fb29dbf
More Lua bindings 2024-05-02 17:23:51 +07:00
151571e8d0
More Lua bindings, minor performance improvements 2024-05-01 13:09:16 +07:00
884a432676
Make EntityIndex#walk significantly faster when querying large regions 2024-05-01 11:59:04 +07:00
afd93fea99
Unset return warp only if we are on shipworld 2024-04-29 19:16:02 +07:00
d1e478b6ef
Fix interact action not specifying entity id when originating from Lua 2024-04-29 19:11:33 +07:00
17c9664ee9
Don't write partial changes to universe chunks database 2024-04-29 18:21:09 +07:00
dafc211c10
Fix race condition in ServerUniverse when actively generating chunks 2024-04-29 18:18:10 +07:00
0dc3c996be
How? 2024-04-29 17:38:31 +07:00
430c92bd03
Blazingly fast system data deserialization 2024-04-29 17:32:17 +07:00
d1e5557f27
Misc fixes 2024-04-29 14:21:17 +07:00
26c579f568
Entity message handling 2024-04-29 13:50:59 +07:00
0af6646212
Stop objects being placed inside each other 2024-04-28 20:20:37 +07:00
fb9871f45b
Ensure counter-clockwise order of poly vertices 2024-04-28 20:07:23 +07:00
4c959b82a9
Some improvement to asset loading and feedback 2024-04-28 19:44:15 +07:00
0854baa986
Semi-fix microdungeons overlap 2024-04-28 18:18:00 +07:00
d141bb64b0
Minimal projectile net state code 2024-04-28 16:37:48 +07:00
ac55422c3b
Sequential or parallel disk access now handled properly 2024-04-26 19:02:26 +07:00
999f3a8d4f
Use world's random in animator 2024-04-26 15:01:44 +07:00
a498c8704b
Forgot to commit this 2024-04-26 15:01:27 +07:00
b0913d1522
Remove unused json stuff 2024-04-26 15:01:11 +07:00
6ffa54fb27
Kind of un-race-conditioned chunk saving 2024-04-26 01:20:13 +07:00
2e5214ef12
Finally, ocean liquids 2024-04-25 23:44:41 +07:00
7efa39bb47
Fix tile modifications failing 2024-04-25 23:36:59 +07:00
16bbc243e8
Fix constellation generation 2024-04-25 23:20:21 +07:00
be6277bb33
Add fast path for hasChangedSince() 2024-04-25 21:44:26 +07:00
b6ff323e5a
Stop objects from popping out of existence if they reside on chunk border and border chunk haven't loaded yet 2024-04-25 16:37:16 +07:00
ba0db89dcf
Damage handling (not tested because entire system is stupid) 2024-04-25 16:13:35 +07:00
c0c63b9240
Ship flight now properly accounts for desired target location in new system when switching systems 2024-04-24 11:57:22 +07:00
2a23c579bc
Persistent system worlds 2024-04-24 11:50:46 +07:00
0fb5359521
Much smarter tick scheduling 2024-04-24 11:21:23 +07:00
d93cc21dcd
Use WAL in storage databases 2024-04-24 10:29:31 +07:00
9644eda14c
Don't spam regular log with json test fails 2024-04-24 00:12:05 +07:00
21fcad14b3
Misc fixes 2024-04-24 00:06:38 +07:00
60fb895fe8
Universe migrated to sqlite database 2024-04-23 22:49:03 +07:00
9797202af2
Fix race condition in event loop shutdown when using awaitTermination() 2024-04-23 17:30:52 +07:00
195de2d160
Persistent universe parameters storage, as well as player context 2024-04-23 16:59:51 +07:00
c016dade54
SQLite as underlying file storage engine 2024-04-23 13:51:24 +07:00
87966e5fa1
Persistent world storage test 2024-04-23 03:04:17 +07:00
38eddc0276
Fix orientation update not updating spatial index 2024-04-22 23:02:04 +07:00
68ec91e1e8
Players now can place objects 2024-04-22 22:57:26 +07:00
ab516d91a9
Responsive player tracking 2024-04-22 22:41:43 +07:00
fd583cf2b9
Fix smashOnBreak not being honored 2024-04-22 22:22:01 +07:00
934e8f8479
Plants without occupied spaces no longer crash server 2024-04-22 22:16:48 +07:00
c2cb8dd208
Make server-side entities exceptions be fatal 2024-04-22 22:16:05 +07:00
e04cc92ffd
Now players are properly kicked to their ships if world experiences fatal error 2024-04-22 22:06:12 +07:00
4212390bf3
event loop now accepts tasks during shutdown if they happen inside event loop 2024-04-22 22:01:16 +07:00
7270b1b47b
Fix wrong json conversion from numbers again 2024-04-22 21:43:01 +07:00
3bb7e50315
Fix wrong json conversion from numbers 2024-04-22 21:29:02 +07:00
dfcc59d218
Fix grass being buried under tiles 2024-04-22 20:50:20 +07:00
9d049ec3aa
Better item spewing 2024-04-22 20:49:14 +07:00
58ec1b7933
Fix hitting only rooted tile did not break trees 2024-04-22 20:48:19 +07:00
baf04fe447
Object breaking 2024-04-22 20:11:16 +07:00
f9fe93383f
Now root mechanics is properly handled by damageTiles 2024-04-22 17:52:43 +07:00
d9de575de6
Now root mechanics is properly handled by damageTiles 2024-04-22 17:52:25 +07:00