be31652c40Encapsulated cWorld functions needed in cWorldStorage into an interface, so that cWorldStorage can actually be used outside of MC-Server (such as storage conversion tools and chunk analyzers)
madmaxoft@gmail.com
2012-03-23 21:12:48 +0000
389062a1edFixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.
madmaxoft@gmail.com
2012-03-22 15:53:40 +0000
ed7b680d3cAdded core.build permission to Core. Without this permission players are unable to build
faketruth
2012-03-19 20:30:24 +0000
2786ad306aFixed player heads always pointing north (new EntityHeadLook packet)
madmaxoft@gmail.com
2012-03-19 17:15:35 +0000
8d9e539f33Fixed a warning in a Release build
madmaxoft@gmail.com
2012-03-19 14:21:52 +0000
ff9ae21e6dInstall: added the high_detail_debug and medium_detail_debug scripts
madmaxoft@gmail.com
2012-03-19 14:13:19 +0000
fedd0dd95fMade some logging output debug-only
madmaxoft@gmail.com
2012-03-19 09:40:56 +0000
cbfca006f7Got rid of cPlayer::sPlayerState
faketruth
2012-03-16 16:16:37 +0000
445d31acc9That didn't work.. I forgot some cChunk functions were changed. Now it should compile again
faketruth
2012-03-16 15:52:26 +0000
38b219de62Exposed a function to Lua to get a block's sky light value
faketruth
2012-03-16 15:48:40 +0000
8127148f4cActually commented out the Anvil terrain inversion code
madmaxoft@gmail.com
2012-03-14 21:49:22 +0000
2386d79541Anvil support: Added a debugging section for inverting terrain (So that MC cave generator can be seen in action). Commented out, so that it doesn't make it into the release versions
madmaxoft@gmail.com
2012-03-14 21:45:04 +0000
b974b1ea59Unified the chunk data to use the BLOCKDATA datatype.
madmaxoft@gmail.com
2012-03-14 21:21:03 +0000
0aefed3e22Added the new ChunkDef.h into VC2010 project
madmaxoft@gmail.com
2012-03-14 20:58:35 +0000
0b24efeb00Split chunk data into separate arrays; decoupled most sources from cChunk.h dependency
madmaxoft@gmail.com
2012-03-14 20:56:09 +0000
393e34d571Fixed the server not waiting for the world to save completely before stopping
madmaxoft@gmail.com
2012-03-13 21:13:34 +0000
8be2528350Removed an unwarranted assert in cChunkSender
madmaxoft@gmail.com
2012-03-13 20:32:11 +0000
b8041509e5Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunk
madmaxoft@gmail.com
2012-03-13 20:26:36 +0000
d0a606959bFixed a few warnings, lifted up the block interactinos limit to 20 (10 was not enough for Creative mode)
madmaxoft
2012-03-13 09:28:24 +0000
12ce4e3a1aGotten rid of stricmp MSVC warnings
madmaxoft@gmail.com
2012-03-12 19:43:25 +0000
219be8186cFixed a few obsoleted functions
madmaxoft@gmail.com
2012-03-10 22:27:24 +0000
f90a8928e7Completely integrated the new axis ordering. Will update worlds accordingly
faketruth
2012-03-10 22:10:15 +0000
4004129e11Anvil support: compatible with both chunk orderings
madmaxoft@gmail.com
2012-03-10 21:42:18 +0000
e7731242c1Using references instead of pointers for sending packets
madmaxoft@gmail.com
2012-03-10 21:34:47 +0000
732b7349faFixed mob spawn packet for 1.2 client, now client doesn't bail out when mobs are turned on
madmaxoft@gmail.com
2012-03-10 19:30:06 +0000
1a5ebb44aaFixed *nix threading issue; Thread objects now use variable names consistent with MCS convention; Fixed a few *nix threading cornercases
madmaxoft@gmail.com
2012-03-10 17:37:00 +0000
e5b91a8d97Was using "#else if" which is not valid apparently, now using "#elif"
faketruth
2012-03-10 13:49:40 +0000
68f3ea56bdYou can change axis ordering by setting AXIS_ORDER to AXIS_ORDER_XZY in cChunk.h !THIS WILL SCREW UP YOUR WORLDS THOUGH! Still need to update world storage schemes, converters and such
faketruth
2012-03-10 02:39:36 +0000
62ba8f5a20Using more of the index functions in cChunk, so it should be easy enough to flip the axis ordering now Added some more functions that use Vector3i for block coordinates in cChunk
faketruth
2012-03-10 00:25:05 +0000
f43b65cf53cClientHandles have a unique ID now to distinguish them cAuthenticator uses unique client ID for authentication Changed the kick function used by cAuthenticator to take a client ID instead of name, so the correct user is kicked Using callback reference instead of pointer in GetChunkData and affiliates GetChunkData returns false when failed, and true when succeeded Renamed entity type enums to something prettier Exposed some functions to Lua
faketruth
2012-03-09 13:42:28 +0000
4544d5d3b9ChunkSender: Fixed a potential crash: removing a client means that no Send() is called on that client anymore
madmaxoft@gmail.com
2012-03-07 20:06:18 +0000
787382caf8Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380 Also removed the SetClientHandle() function from cPlayer Added a Destroyed() function to cEntity that is called ONLY ONCE after an entity has been 'destroyed' Cleaned up some code, using enums for GameMode and Weather and replaced some 'const char *' with 'const AString &' Exposed some more functions to Lua
faketruth
2012-03-07 13:36:30 +0000
d63b092e02No need to reset zlib (copypasta error)
madmaxoft@gmail.com
2012-03-07 11:31:54 +0000
69a4ee5383Added the Anvil level format (MCA) support, read-only for the time being. Now MCS can read your worlds from the official server :)
madmaxoft@gmail.com
2012-03-07 11:28:24 +0000
bae54ee7bdSticky pistons should work as well now
faketruth
2012-03-06 22:17:36 +0000
b20fa171a4Added a little documentation on ChunkSender.
madmaxoft@gmail.com
2012-03-06 21:58:32 +0000
944dec3a4eFixed redstone repeater bug where it could not get the direction when it has delay bits set
faketruth
2012-03-06 21:56:12 +0000
5e4e89b6eeWorld storage names are now case-INsensitive
madmaxoft@gmail.com
2012-03-06 19:40:05 +0000
e463ddc500That was not a good place to use ARRAYCOUNT()
madmaxoft@gmail.com
2012-03-06 14:54:31 +0000
8cdd63f06cFixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkLists
madmaxoft@gmail.com
2012-03-06 14:52:44 +0000
e4043be593Using a fixed-size array instead of AString for conversion. Conversion now runs ~10x faster :) (in debug mode)
madmaxoft@gmail.com
2012-03-05 17:00:35 +0000
0633c2440bAdded a recommended post-commit hook script for Windows clients
madmaxoft@gmail.com
2012-03-05 16:45:20 +0000
01c5d6e128WSS conversion quickfix: reserving memory so that AString doesn't need to re-alloc (but still uses painfully slow push_back()s )
madmaxoft@gmail.com
2012-03-05 16:43:06 +0000
4d65ffffc0ChunkSender: Chunks are now compressed and sent to clients from a separate threads, proper passive waiting between threads. Not much tested, just appears to work :)
madmaxoft@gmail.com
2012-03-05 16:41:57 +0000
a655d7fdaeRemoved redstone debugging: powered dirt blocks change into stone
faketruth
2012-03-04 16:59:39 +0000
e1b9fb1ab4Lowered the amount of logging while converting chunks
faketruth
2012-03-04 16:18:32 +0000
85ecca1cfaConverted pak files were not marked 'dirty' and wouldn't be saved. Fixed now :)
faketruth
2012-03-04 16:15:04 +0000
72e18bc414Edited the wrong settings.ini ...
faketruth
2012-03-04 16:09:09 +0000
9b7675f0e1Forcing the use of the new redstone simulator
faketruth
2012-03-04 16:04:42 +0000
95eb3a7bd7Should have complete support for 256 blocks high worlds. Old save files are converted to new ones at load. BACK UP YOUR WORLD!
faketruth
2012-03-04 15:59:10 +0000
f1f762c4faThe world can now truly be made higher by incrementing cChunk::c_ChunkHeight to 256. !!HOWEVER THIS WILL DESTROY YOUR SAVED WORLD!!
faketruth
2012-03-04 14:09:35 +0000
fb7c60ec11Changed signed char to unsigned char in block packets, so we can receive height up to 255 Blocks placed above 128 limit don't become obsidian anymore. This was due to the cChunk::MakeIndex() function return 0 when outside of bounds, it now returns an 'error constant'
faketruth
2012-03-04 13:54:33 +0000
ad89cf88baGot rid of some hardcoded numbers, now using hardcoded variables! woo
faketruth
2012-03-03 20:55:16 +0000
f7b29dc727That should not have been committed...
faketruth
2012-03-02 14:09:52 +0000
5179588b65Chunk light and metadata are also sent now, should take a load off of the client
faketruth
2012-03-02 13:58:31 +0000
eceead8394Finally got the multiblock packet working! It seems the byte order was wrong
faketruth
2012-03-02 13:41:42 +0000
4dda2a5c2bMultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/
faketruth
2012-03-02 01:22:06 +0000
a2f6ab93b6Chunks are successfully streamed to clients (in a bad a slow way, but whatever) Fixed respawn packet for 1.2.2
faketruth
2012-03-01 18:56:56 +0000
d24c07a550Clients can join the server, but chunks are sent completely empty
faketruth
2012-03-01 18:08:53 +0000
4baa9e2709Forgot to update packet size (though I'm not even sure it's used anymore)
faketruth
2012-03-01 17:14:23 +0000
957ef3b297Started carefully moving to 1.2.2 Clients can get up to the login packet, after which the server tries to send chunks but in the wrong format and the client disconnects
faketruth
2012-03-01 17:07:41 +0000
b467f77689Forgot to update the VS2008 project
faketruth
2012-03-01 15:21:02 +0000
867fc8ee0dNew redstone simulator. Should work without crashes!
faketruth
2012-03-01 15:18:59 +0000
93d73ac520Fixed the authenticator bug
madmaxoft@gmail.com
2012-02-29 20:25:11 +0000
bba824a1c6Making sure cClientHandle::m_Player was NULL after authentication completed
faketruth
2012-02-29 13:40:40 +0000
94132159beAdded validity checks to world broadcasting. Also added logging to cPlayer deletion to catch that stupid BugByBoo.
madmaxoft@gmail.com
2012-02-29 08:40:15 +0000
5d0da9a2c0Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set)
madmaxoft@gmail.com
2012-02-28 16:59:59 +0000
a4503ddb77Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk lists
madmaxoft@gmail.com
2012-02-28 14:58:07 +0000
ac117959d3Server uses ~40% less CPU now
faketruth
2012-02-28 14:22:03 +0000
0f88ed7c72Linux compilation fix (y u no support const_iterator, gcc?)
madmaxoft@gmail.com
2012-02-28 12:37:46 +0000
013ae71c87Chunk now has an indicator of load failure; Chunk generator uses cChunkStay
madmaxoft@gmail.com
2012-02-28 12:11:14 +0000
230f98a774Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)
madmaxoft@gmail.com
2012-02-28 10:45:53 +0000
bccd52530fVC2008: slight project reorganization, chunk-generation-related sources are now in one folder
madmaxoft@gmail.com
2012-02-28 10:07:06 +0000
67ffb8a1daChunkGenerator: fixed an inverted condition on chunk-skipping when the generator is overloaded; set the overload threshold to 500 chunks (from original 50 which is not enough even for a single player)
madmaxoft@gmail.com
2012-02-28 10:01:42 +0000
dee0a12029Fix for the perpetual load issue
madmaxoft@gmail.com
2012-02-27 14:23:16 +0000
1f88db187bImplemented chunk loading without generating on load-failure
madmaxoft@gmail.com
2012-02-26 16:46:23 +0000
b902546863New cChunkStay class for temporarily keeping chunks loaded even when then have no clients. For now unused, will be used by generator and lighting in the future.
madmaxoft@gmail.com
2012-02-26 16:15:09 +0000
7268a70902Attempt at fixing crashes with disconnecting players
madmaxoft@gmail.com
2012-02-26 12:55:42 +0000
0e33c919ddUsing cSocketThreads for client outgoing packets. Unfortunately had to put in one intermediate thread (cServer::cNotifyWriteThread) to avoid deadlocks. Still, seems we have a proper multithreading for clients and no more per-client threads, yay :)
madmaxoft@gmail.com
2012-02-26 00:36:51 +0000