1
0

Commit Graph

  • be31652c40 Encapsulated 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
  • 389062a1ed Fixed 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
  • ed7b680d3c Added core.build permission to Core. Without this permission players are unable to build faketruth 2012-03-19 20:30:24 +0000
  • 2786ad306a Fixed player heads always pointing north (new EntityHeadLook packet) madmaxoft@gmail.com 2012-03-19 17:15:35 +0000
  • 8d9e539f33 Fixed a warning in a Release build madmaxoft@gmail.com 2012-03-19 14:21:52 +0000
  • ff9ae21e6d Install: added the high_detail_debug and medium_detail_debug scripts madmaxoft@gmail.com 2012-03-19 14:13:19 +0000
  • fedd0dd95f Made some logging output debug-only madmaxoft@gmail.com 2012-03-19 09:40:56 +0000
  • 1e90dad245 Basic cWindow thread-safety madmaxoft@gmail.com 2012-03-19 09:37:10 +0000
  • f72d1e1821 SocketThreads: proper thread finishing sequence (doesn't trigger AppVerifier checks :) madmaxoft@gmail.com 2012-03-19 09:36:34 +0000
  • cbfca006f7 Got rid of cPlayer::sPlayerState faketruth 2012-03-16 16:16:37 +0000
  • 445d31acc9 That didn't work.. I forgot some cChunk functions were changed. Now it should compile again faketruth 2012-03-16 15:52:26 +0000
  • 38b219de62 Exposed a function to Lua to get a block's sky light value faketruth 2012-03-16 15:48:40 +0000
  • 8127148f4c Actually commented out the Anvil terrain inversion code madmaxoft@gmail.com 2012-03-14 21:49:22 +0000
  • 2386d79541 Anvil 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
  • b974b1ea59 Unified the chunk data to use the BLOCKDATA datatype. madmaxoft@gmail.com 2012-03-14 21:21:03 +0000
  • 0aefed3e22 Added the new ChunkDef.h into VC2010 project madmaxoft@gmail.com 2012-03-14 20:58:35 +0000
  • 0b24efeb00 Split chunk data into separate arrays; decoupled most sources from cChunk.h dependency madmaxoft@gmail.com 2012-03-14 20:56:09 +0000
  • 393e34d571 Fixed the server not waiting for the world to save completely before stopping madmaxoft@gmail.com 2012-03-13 21:13:34 +0000
  • 8be2528350 Removed an unwarranted assert in cChunkSender madmaxoft@gmail.com 2012-03-13 20:32:11 +0000
  • b8041509e5 Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunk madmaxoft@gmail.com 2012-03-13 20:26:36 +0000
  • d0a606959b Fixed 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
  • 12ce4e3a1a Gotten rid of stricmp MSVC warnings madmaxoft@gmail.com 2012-03-12 19:43:25 +0000
  • 57659f010e *nix compilation fix (for rev 402) madmaxoft@gmail.com 2012-03-12 19:42:50 +0000
  • 10c8c75bb7 Added a flat terrain generator with settable terrain height madmaxoft@gmail.com 2012-03-12 19:39:41 +0000
  • cb1edaf6df Fixed MapChunk packets to include (fake) biome data, makes clients happy madmaxoft@gmail.com 2012-03-12 19:29:31 +0000
  • b789d5ebf6 Fixing compilation on Drawin 9 / MacOS X madmaxoft@gmail.com 2012-03-12 13:31:34 +0000
  • cb2de47247 Stopping the ChunkSender upon server stop madmaxoft@gmail.com 2012-03-11 22:29:15 +0000
  • e06c2001ba Fixed a small bug in chunk version check D: faketruth 2012-03-11 13:07:25 +0000
  • af44154ff5 Not sending chunks to the client twice madmaxoft@gmail.com 2012-03-11 10:48:20 +0000
  • dc8004d5e6 Anvil format: fixed loading with XZY ordering madmaxoft@gmail.com 2012-03-11 10:47:37 +0000
  • 219be8186c Fixed a few obsoleted functions madmaxoft@gmail.com 2012-03-10 22:27:24 +0000
  • f90a8928e7 Completely integrated the new axis ordering. Will update worlds accordingly faketruth 2012-03-10 22:10:15 +0000
  • 4004129e11 Anvil support: compatible with both chunk orderings madmaxoft@gmail.com 2012-03-10 21:42:18 +0000
  • e7731242c1 Using references instead of pointers for sending packets madmaxoft@gmail.com 2012-03-10 21:34:47 +0000
  • 732b7349fa Fixed 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
  • 1a5ebb44aa Fixed *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
  • e5b91a8d97 Was using "#else if" which is not valid apparently, now using "#elif" faketruth 2012-03-10 13:49:40 +0000
  • 68f3ea56bd You 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
  • 62ba8f5a20 Using 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
  • f43b65cf53 cClientHandles 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
  • 11810e05e4 Using the _DEBUG macro for *nix debug builds as well; trying to force 8-byte alignment on critical sections ( http://forum.mc-server.org/showthread.php?tid=384 ) madmaxoft@gmail.com 2012-03-09 09:39:48 +0000
  • effe9647cc Added NBT example dumps for reference madmaxoft@gmail.com 2012-03-07 22:10:36 +0000
  • 7219e74c7c Anvil format: loading chests' contents. madmaxoft@gmail.com 2012-03-07 22:09:55 +0000
  • 4544d5d3b9 ChunkSender: 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
  • 0cee2428c1 WSSCompact: fixed switched version values (!); removed unused methods madmaxoft@gmail.com 2012-03-07 20:03:44 +0000
  • 787382caf8 Fixed 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
  • d63b092e02 No need to reset zlib (copypasta error) madmaxoft@gmail.com 2012-03-07 11:31:54 +0000
  • 69a4ee5383 Added 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
  • bae54ee7bd Sticky pistons should work as well now faketruth 2012-03-06 22:17:36 +0000
  • b20fa171a4 Added a little documentation on ChunkSender. madmaxoft@gmail.com 2012-03-06 21:58:32 +0000
  • 944dec3a4e Fixed redstone repeater bug where it could not get the direction when it has delay bits set faketruth 2012-03-06 21:56:12 +0000
  • 3d0eced7e7 ChunkSender won't send NULL packets anymore madmaxoft@gmail.com 2012-03-06 21:48:45 +0000
  • 7ee0667b75 Fixed rev 373 not compiling on linux madmaxoft@gmail.com 2012-03-06 21:32:22 +0000
  • 01577bed9d Yay redstone repeaters! faketruth 2012-03-06 21:06:51 +0000
  • 5e4e89b6ee World storage names are now case-INsensitive madmaxoft@gmail.com 2012-03-06 19:40:05 +0000
  • e463ddc500 That was not a good place to use ARRAYCOUNT() madmaxoft@gmail.com 2012-03-06 14:54:31 +0000
  • 8cdd63f06c Fixed 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
  • ea1ecd36db Fixed bug FS#157 http://mc-server.org/support/index.php?do=details&task_id=157 faketruth 2012-03-06 13:25:14 +0000
  • 0df305e226 Fixed a potential deadlock ( http://forum.mc-server.org/showthread.php?tid=374 ) madmaxoft@gmail.com 2012-03-05 17:15:56 +0000
  • e4043be593 Using 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
  • 0633c2440b Added a recommended post-commit hook script for Windows clients madmaxoft@gmail.com 2012-03-05 16:45:20 +0000
  • 01c5d6e128 WSS 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
  • 4d65ffffc0 ChunkSender: 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
  • a655d7fdae Removed redstone debugging: powered dirt blocks change into stone faketruth 2012-03-04 16:59:39 +0000
  • ac5f1e8f30 Yay tiny commits XD fixed % sign faketruth 2012-03-04 16:19:49 +0000
  • e1b9fb1ab4 Lowered the amount of logging while converting chunks faketruth 2012-03-04 16:18:32 +0000
  • 85ecca1cfa Converted pak files were not marked 'dirty' and wouldn't be saved. Fixed now :) faketruth 2012-03-04 16:15:04 +0000
  • 72e18bc414 Edited the wrong settings.ini ... faketruth 2012-03-04 16:09:09 +0000
  • 9b7675f0e1 Forcing the use of the new redstone simulator faketruth 2012-03-04 16:04:42 +0000
  • 95eb3a7bd7 Should 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
  • f1f762c4fa The 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
  • fb7c60ec11 Changed 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
  • ad89cf88ba Got rid of some hardcoded numbers, now using hardcoded variables! woo faketruth 2012-03-03 20:55:16 +0000
  • f7b29dc727 That should not have been committed... faketruth 2012-03-02 14:09:52 +0000
  • 5179588b65 Chunk light and metadata are also sent now, should take a load off of the client faketruth 2012-03-02 13:58:31 +0000
  • eceead8394 Finally got the multiblock packet working! It seems the byte order was wrong faketruth 2012-03-02 13:41:42 +0000
  • 4dda2a5c2b MultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/ faketruth 2012-03-02 01:22:06 +0000
  • a2f6ab93b6 Chunks 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
  • d24c07a550 Clients can join the server, but chunks are sent completely empty faketruth 2012-03-01 18:08:53 +0000
  • 4baa9e2709 Forgot to update packet size (though I'm not even sure it's used anymore) faketruth 2012-03-01 17:14:23 +0000
  • 957ef3b297 Started 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
  • b467f77689 Forgot to update the VS2008 project faketruth 2012-03-01 15:21:02 +0000
  • 867fc8ee0d New redstone simulator. Should work without crashes! faketruth 2012-03-01 15:18:59 +0000
  • 93d73ac520 Fixed the authenticator bug madmaxoft@gmail.com 2012-02-29 20:25:11 +0000
  • bba824a1c6 Making sure cClientHandle::m_Player was NULL after authentication completed faketruth 2012-02-29 13:40:40 +0000
  • 94132159be Added 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
  • 5d0da9a2c0 Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set) madmaxoft@gmail.com 2012-02-28 16:59:59 +0000
  • a4503ddb77 Setting 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
  • ac117959d3 Server uses ~40% less CPU now faketruth 2012-02-28 14:22:03 +0000
  • 0f88ed7c72 Linux compilation fix (y u no support const_iterator, gcc?) madmaxoft@gmail.com 2012-02-28 12:37:46 +0000
  • 013ae71c87 Chunk now has an indicator of load failure; Chunk generator uses cChunkStay madmaxoft@gmail.com 2012-02-28 12:11:14 +0000
  • 230f98a774 Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;) madmaxoft@gmail.com 2012-02-28 10:45:53 +0000
  • bccd52530f VC2008: slight project reorganization, chunk-generation-related sources are now in one folder madmaxoft@gmail.com 2012-02-28 10:07:06 +0000
  • 67ffb8a1da ChunkGenerator: 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
  • 2c9198b208 Const-correctness for packet broadcasting (fixes GCC compilation) madmaxoft@gmail.com 2012-02-28 08:10:51 +0000
  • dee0a12029 Fix for the perpetual load issue madmaxoft@gmail.com 2012-02-27 14:23:16 +0000
  • 1f88db187b Implemented chunk loading without generating on load-failure madmaxoft@gmail.com 2012-02-26 16:46:23 +0000
  • b902546863 New 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
  • 7268a70902 Attempt at fixing crashes with disconnecting players madmaxoft@gmail.com 2012-02-26 12:55:42 +0000
  • 0e33c919dd Using 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