1
0
Commit Graph

499 Commits

Author SHA1 Message Date
madmaxoft@gmail.com
ceffb64760 Farmland gets hydrated and dehydrated. Fixed an off-by-one error in neighbor-chunk manipulation.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@522 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-30 15:40:53 +00:00
madmaxoft@gmail.com
bb44d25d60 Fixed a crash when chunks were loaded / generated with entities ( http://forum.mc-server.org/showthread.php?tid=450 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@521 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-30 13:11:58 +00:00
madmaxoft@gmail.com
2372419d0c Farmland is created using a hoe on dirt or grass.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@520 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 20:45:25 +00:00
madmaxoft@gmail.com
322ba59c3a Refactored item-eating from cClientHandle into cPlayer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@519 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 19:56:07 +00:00
madmaxoft@gmail.com
9d6a5b9ce0 Added code for the chunks to manipulate their neighbors while ticking. Also added some basic farming support - melon and pumpkin growing code. Untested and untestable so far, will test and fix later.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@518 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 14:59:43 +00:00
madmaxoft@gmail.com
3c97a8e8a5 Cacti don't gather snow
git-svn-id: http://mc-server.googlecode.com/svn/trunk@517 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-28 16:49:17 +00:00
madmaxoft@gmail.com
1a0bfd8d28 Chests and Furnaces are now saved properly into Anvil scheme.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@516 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-28 16:47:57 +00:00
madmaxoft@gmail.com
825ce1e5e0 Ice finisher generator; fixed snow on water.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@515 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:41:34 +00:00
madmaxoft@gmail.com
1338caba88 Added a snow finisher generator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@514 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:30:52 +00:00
madmaxoft@gmail.com
7c72bbb706 Added some useful biome synonyms; added block property IsSnowable; alphabetically sorted block property setting
git-svn-id: http://mc-server.googlecode.com/svn/trunk@513 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:30:27 +00:00
madmaxoft@gmail.com
8fd7274f4c Voronoi has a minimum cell size of 4 blocks now, to avoid some extreme corner-cases
git-svn-id: http://mc-server.googlecode.com/svn/trunk@512 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:31:00 +00:00
madmaxoft@gmail.com
79fddd3be0 Added a voronoi biome generator (#180)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@511 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:17:47 +00:00
madmaxoft@gmail.com
fbc497b97d DebugBiomes composition generator now uses only blocks suitable for terrain (from an internal list)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@510 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:05:36 +00:00
madmaxoft@gmail.com
5d4e9e18da Added wool and netherrack block IDs
git-svn-id: http://mc-server.googlecode.com/svn/trunk@509 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:02:13 +00:00
madmaxoft@gmail.com
d02df740ef Restructured biome generators with a list of available biomes to use a common ancestor (preparation for Voronoi and DistortedVoronoi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@508 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 11:07:23 +00:00
madmaxoft@gmail.com
925f45a4fa ConstantBiome parsing now uses the string-to-biome conversion (#183)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@507 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:57:36 +00:00
madmaxoft@gmail.com
ba2f0c6229 Added the CheckerBoardBiomes parameter for setting biomes that CheckerBoard generates (#179). Added string-to-biome conversion (#183). Added OreNests to default Structures configuration.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@506 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:51:04 +00:00
madmaxoft@gmail.com
3d3c51b179 Improved logging on mis-configuration in cPlayer and cWorldStorage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@505 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:49:17 +00:00
madmaxoft@gmail.com
a4a418a679 Merged the composable_generator branch into the trunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25 07:18:52 +00:00
madmaxoft@gmail.com
3fe79d8516 Removed a debugging construct that accidentally leaked into previous commit
git-svn-id: http://mc-server.googlecode.com/svn/trunk@485 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 11:34:04 +00:00
madmaxoft@gmail.com
f2681777fb Fast NBT writer (Saving a chunk is now about twice as fast)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@484 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 11:31:54 +00:00
madmaxoft@gmail.com
05a1f89286 Fixed two "bottlenecks" found using profiling - MakeIndex() instead of MakeIndexNoCheck()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@483 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 09:25:15 +00:00
madmaxoft@gmail.com
35c8bc4c58 Fast NBT Parser (loading a chunk is now about 10 times faster)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@481 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-07 20:22:04 +00:00
madmaxoft@gmail.com
b73fba7c08 Updated version text to include 1.2.5; ChunkSender doesn't serialize chunk packets for chunks without a client
git-svn-id: http://mc-server.googlecode.com/svn/trunk@480 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-07 18:52:40 +00:00
madmaxoft@gmail.com
9cb8872851 Anvil storage writing (Basic storage is working, NO entities except for chests are working! Don't use for real servers)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@475 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-23 21:20:32 +00:00
madmaxoft@gmail.com
60b5f4b66b Lapis gets generated (thanks, Fordship)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@463 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-15 07:37:36 +00:00
faketruth
ae3fa2b622 Moved the commands /coords /viewdistance and /regeneratechunks from cServer.cpp to the Core plugin
git-svn-id: http://mc-server.googlecode.com/svn/trunk@457 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-11 12:16:13 +00:00
madmaxoft@gmail.com
2b0dd758d5 Added error messages to socket closing error conditions for *nix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@456 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 14:56:42 +00:00
madmaxoft@gmail.com
23cfcc6ffd Added the permission "builtin.regeneratechunk" needed for regenerating chunks using a command.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@455 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 12:32:39 +00:00
madmaxoft@gmail.com
c51a4b9469 Added the "/regeneratechunk" command that regenerates either current chunk or a chunk specified with x, z parameters. TODO: permissions - we don't want guests erasing our chunks!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 11:22:11 +00:00
madmaxoft@gmail.com
e009569060 Compression error -5 fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@452 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 14:36:52 +00:00
madmaxoft@gmail.com
3fe1622eda Fixed a parsing error in NBT classes (doubles weren't parsing correctly);
Added a working NBT serialization (verified in another project)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@451 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 12:07:38 +00:00
madmaxoft@gmail.com
0d0ad37da1 StringUtils' GetDirectoryContents() now accepts empty string and interprets it as "current directory" (*nix fix)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@450 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 10:50:43 +00:00
madmaxoft@gmail.com
b5a646d94a Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@447 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-03 14:07:18 +00:00
madmaxoft@gmail.com
00ea7d12c1 Attempted a fix for cSocket's Bind() call on MacOS-based systems (initializing the whole sockaddr_in structure with zeroes first)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@446 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-03 13:37:00 +00:00
faketruth
d975e5bf04 cSocket.cpp should also compile on Mac now (I hope)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@443 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-31 19:07:48 +00:00
faketruth
64f8549604 Fixed a crash when fluid would try to go below the world (y = -1)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@442 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-31 12:10:17 +00:00
faketruth
091d958b0c Got rid of sPluginManagerState
/pluginlist now also shows the number of active plugins
Fixed crash caused by lingering bound Lua commands http://forum.mc-server.org/showthread.php?tid=212&pid=2541#pid2541
Added error messages when binding commands to an invalid plugin

git-svn-id: http://mc-server.googlecode.com/svn/trunk@440 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-28 18:11:06 +00:00
madmaxoft@gmail.com
fcb9b281e0 Fixed a possible crash in ChunkSender - a client would be reported as removed but still would be in the internal queue.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@438 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-27 19:23:44 +00:00
madmaxoft@gmail.com
ce053d1b9b Removed the unneeded header wdirent.h
git-svn-id: http://mc-server.googlecode.com/svn/trunk@437 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26 20:40:15 +00:00
madmaxoft@gmail.com
05252babc6 Added the supported client version to banner; shamelessly added myself to the authors list ;)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@436 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26 18:09:10 +00:00
madmaxoft@gmail.com
ba5b6ca751 A globally-accessible OS-independent GetDirectoryContents() function for listing all objects in a folder as an AStringList
git-svn-id: http://mc-server.googlecode.com/svn/trunk@433 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-25 14:24:51 +00:00
madmaxoft@gmail.com
534e221316 Fixed the Log altogether (doesn't use NULL-to-va_list assignment, compiles for RaspberryPi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@432 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-25 13:29:07 +00:00
madmaxoft@gmail.com
5783437436 Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 13:28:53 +00:00
madmaxoft@gmail.com
3c3d1c60a3 Protocol version bumped up to 29 (MC 1.2.4), seems to work.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@430 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 12:10:23 +00:00
madmaxoft@gmail.com
e1ef489e08 Removed the split between 1.2.3 and 1.1, left only 1.2.3 code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@429 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 11:40:29 +00:00
madmaxoft@gmail.com
b69ac328c0 Reverted the previous commit - it is useless, since entities still depend heavily on cWorld
git-svn-id: http://mc-server.googlecode.com/svn/trunk@428 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 11:14:34 +00:00
madmaxoft@gmail.com
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)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@427 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-23 21:12:48 +00:00
madmaxoft@gmail.com
389062a1ed Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@426 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-22 15:53:40 +00:00
madmaxoft@gmail.com
2786ad306a Fixed player heads always pointing north (new EntityHeadLook packet)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@424 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 17:15:35 +00:00
madmaxoft@gmail.com
8d9e539f33 Fixed a warning in a Release build
git-svn-id: http://mc-server.googlecode.com/svn/trunk@423 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 14:21:52 +00:00
madmaxoft@gmail.com
fedd0dd95f Made some logging output debug-only
git-svn-id: http://mc-server.googlecode.com/svn/trunk@421 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:40:56 +00:00
madmaxoft@gmail.com
1e90dad245 Basic cWindow thread-safety
git-svn-id: http://mc-server.googlecode.com/svn/trunk@420 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:37:10 +00:00
madmaxoft@gmail.com
f72d1e1821 SocketThreads: proper thread finishing sequence (doesn't trigger AppVerifier checks :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@419 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:36:34 +00:00
faketruth
cbfca006f7 Got rid of cPlayer::sPlayerState
git-svn-id: http://mc-server.googlecode.com/svn/trunk@418 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 16:16:37 +00:00
faketruth
445d31acc9 That didn't work.. I forgot some cChunk functions were changed. Now it should compile again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@417 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 15:52:26 +00:00
faketruth
38b219de62 Exposed a function to Lua to get a block's sky light value
git-svn-id: http://mc-server.googlecode.com/svn/trunk@416 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 15:48:40 +00:00
madmaxoft@gmail.com
8127148f4c Actually commented out the Anvil terrain inversion code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@415 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:49:22 +00:00
madmaxoft@gmail.com
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
git-svn-id: http://mc-server.googlecode.com/svn/trunk@414 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:45:04 +00:00
madmaxoft@gmail.com
b974b1ea59 Unified the chunk data to use the BLOCKDATA datatype.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@413 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:21:03 +00:00
madmaxoft@gmail.com
0b24efeb00 Split chunk data into separate arrays; decoupled most sources from cChunk.h dependency
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 20:56:09 +00:00
madmaxoft@gmail.com
393e34d571 Fixed the server not waiting for the world to save completely before stopping
git-svn-id: http://mc-server.googlecode.com/svn/trunk@410 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 21:13:34 +00:00
madmaxoft@gmail.com
8be2528350 Removed an unwarranted assert in cChunkSender
git-svn-id: http://mc-server.googlecode.com/svn/trunk@409 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 20:32:11 +00:00
madmaxoft@gmail.com
b8041509e5 Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@408 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 20:26:36 +00:00
madmaxoft
d0a606959b Fixed a few warnings, lifted up the block interactinos limit to 20 (10 was not enough for Creative mode)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@407 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 09:28:24 +00:00
madmaxoft@gmail.com
12ce4e3a1a Gotten rid of stricmp MSVC warnings
git-svn-id: http://mc-server.googlecode.com/svn/trunk@406 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:43:25 +00:00
madmaxoft@gmail.com
57659f010e *nix compilation fix (for rev 402)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@405 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:42:50 +00:00
madmaxoft@gmail.com
10c8c75bb7 Added a flat terrain generator with settable terrain height
git-svn-id: http://mc-server.googlecode.com/svn/trunk@404 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:39:41 +00:00
madmaxoft@gmail.com
cb1edaf6df Fixed MapChunk packets to include (fake) biome data, makes clients happy
git-svn-id: http://mc-server.googlecode.com/svn/trunk@403 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:29:31 +00:00
madmaxoft@gmail.com
b789d5ebf6 Fixing compilation on Drawin 9 / MacOS X
git-svn-id: http://mc-server.googlecode.com/svn/trunk@402 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 13:31:34 +00:00
madmaxoft@gmail.com
cb2de47247 Stopping the ChunkSender upon server stop
git-svn-id: http://mc-server.googlecode.com/svn/trunk@401 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 22:29:15 +00:00
faketruth
e06c2001ba Fixed a small bug in chunk version check D:
git-svn-id: http://mc-server.googlecode.com/svn/trunk@400 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 13:07:25 +00:00
madmaxoft@gmail.com
af44154ff5 Not sending chunks to the client twice
git-svn-id: http://mc-server.googlecode.com/svn/trunk@399 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 10:48:20 +00:00
madmaxoft@gmail.com
dc8004d5e6 Anvil format: fixed loading with XZY ordering
git-svn-id: http://mc-server.googlecode.com/svn/trunk@398 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 10:47:37 +00:00
madmaxoft@gmail.com
219be8186c Fixed a few obsoleted functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@397 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 22:27:24 +00:00
faketruth
f90a8928e7 Completely integrated the new axis ordering. Will update worlds accordingly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@396 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 22:10:15 +00:00
madmaxoft@gmail.com
4004129e11 Anvil support: compatible with both chunk orderings
git-svn-id: http://mc-server.googlecode.com/svn/trunk@395 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 21:42:18 +00:00
madmaxoft@gmail.com
e7731242c1 Using references instead of pointers for sending packets
git-svn-id: http://mc-server.googlecode.com/svn/trunk@394 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 21:34:47 +00:00
madmaxoft@gmail.com
732b7349fa Fixed mob spawn packet for 1.2 client, now client doesn't bail out when mobs are turned on
git-svn-id: http://mc-server.googlecode.com/svn/trunk@393 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 19:30:06 +00:00
madmaxoft@gmail.com
1a5ebb44aa Fixed *nix threading issue;
Thread objects now use variable names consistent with MCS convention;
Fixed a few *nix threading cornercases

git-svn-id: http://mc-server.googlecode.com/svn/trunk@392 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 17:37:00 +00:00
faketruth
e5b91a8d97 Was using "#else if" which is not valid apparently, now using "#elif"
git-svn-id: http://mc-server.googlecode.com/svn/trunk@391 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 13:49:40 +00:00
faketruth
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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@390 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 02:39:36 +00:00
faketruth
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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@389 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 00:25:05 +00:00
faketruth
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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@388 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09 13:42:28 +00:00
madmaxoft@gmail.com
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 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@387 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09 09:39:48 +00:00
madmaxoft@gmail.com
7219e74c7c Anvil format: loading chests' contents.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 22:09:55 +00:00
madmaxoft@gmail.com
4544d5d3b9 ChunkSender: Fixed a potential crash: removing a client means that no Send() is called on that client anymore
git-svn-id: http://mc-server.googlecode.com/svn/trunk@384 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 20:06:18 +00:00
madmaxoft@gmail.com
0cee2428c1 WSSCompact: fixed switched version values (!); removed unused methods
git-svn-id: http://mc-server.googlecode.com/svn/trunk@383 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 20:03:44 +00:00
faketruth
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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@382 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 13:36:30 +00:00
madmaxoft@gmail.com
d63b092e02 No need to reset zlib (copypasta error)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@381 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 11:31:54 +00:00
madmaxoft@gmail.com
69a4ee5383 Added the Anvil level format (MCA) support, read-only for the time being. Now MCS can read your worlds from the official server :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@380 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 11:28:24 +00:00
faketruth
bae54ee7bd Sticky pistons should work as well now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@379 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 22:17:36 +00:00
madmaxoft@gmail.com
b20fa171a4 Added a little documentation on ChunkSender.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@378 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:58:32 +00:00
faketruth
944dec3a4e Fixed redstone repeater bug where it could not get the direction when it has delay bits set
git-svn-id: http://mc-server.googlecode.com/svn/trunk@377 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:56:12 +00:00
madmaxoft@gmail.com
3d0eced7e7 ChunkSender won't send NULL packets anymore
git-svn-id: http://mc-server.googlecode.com/svn/trunk@376 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:48:45 +00:00
madmaxoft@gmail.com
7ee0667b75 Fixed rev 373 not compiling on linux
git-svn-id: http://mc-server.googlecode.com/svn/trunk@375 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:32:22 +00:00
faketruth
01577bed9d Yay redstone repeaters!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@374 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:06:51 +00:00
madmaxoft@gmail.com
5e4e89b6ee World storage names are now case-INsensitive
git-svn-id: http://mc-server.googlecode.com/svn/trunk@373 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 19:40:05 +00:00
madmaxoft@gmail.com
e463ddc500 That was not a good place to use ARRAYCOUNT()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@372 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 14:54:31 +00:00
madmaxoft@gmail.com
8cdd63f06c Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkLists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@371 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 14:52:44 +00:00
faketruth
ea1ecd36db Fixed bug FS#157 http://mc-server.org/support/index.php?do=details&task_id=157
git-svn-id: http://mc-server.googlecode.com/svn/trunk@370 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 13:25:14 +00:00
madmaxoft@gmail.com
0df305e226 Fixed a potential deadlock ( http://forum.mc-server.org/showthread.php?tid=374 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@369 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 17:15:56 +00:00
madmaxoft@gmail.com
e4043be593 Using a fixed-size array instead of AString for conversion. Conversion now runs ~10x faster :) (in debug mode)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@368 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 17:00:35 +00:00
madmaxoft@gmail.com
01c5d6e128 WSS conversion quickfix: reserving memory so that AString doesn't need to re-alloc (but still uses painfully slow push_back()s )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@366 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 16:43:06 +00:00
madmaxoft@gmail.com
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 :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 16:41:57 +00:00
faketruth
a655d7fdae Removed redstone debugging: powered dirt blocks change into stone
git-svn-id: http://mc-server.googlecode.com/svn/trunk@364 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:59:39 +00:00
faketruth
ac5f1e8f30 Yay tiny commits XD fixed % sign
git-svn-id: http://mc-server.googlecode.com/svn/trunk@363 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:19:49 +00:00
faketruth
e1b9fb1ab4 Lowered the amount of logging while converting chunks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@362 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:18:32 +00:00
faketruth
85ecca1cfa Converted pak files were not marked 'dirty' and wouldn't be saved. Fixed now :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@361 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:15:04 +00:00
faketruth
9b7675f0e1 Forcing the use of the new redstone simulator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@359 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:04:42 +00:00
faketruth
95eb3a7bd7 Should have complete support for 256 blocks high worlds. Old save files are converted to new ones at load.
BACK UP YOUR WORLD!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@358 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 15:59:10 +00:00
faketruth
f1f762c4fa The world can now truly be made higher by incrementing cChunk::c_ChunkHeight to 256. !!HOWEVER THIS WILL DESTROY YOUR SAVED WORLD!!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@357 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 14:09:35 +00:00
faketruth
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'

git-svn-id: http://mc-server.googlecode.com/svn/trunk@356 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 13:54:33 +00:00
faketruth
ad89cf88ba Got rid of some hardcoded numbers, now using hardcoded variables! woo
git-svn-id: http://mc-server.googlecode.com/svn/trunk@355 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-03 20:55:16 +00:00
faketruth
f7b29dc727 That should not have been committed...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@354 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 14:09:52 +00:00
faketruth
5179588b65 Chunk light and metadata are also sent now, should take a load off of the client
git-svn-id: http://mc-server.googlecode.com/svn/trunk@353 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 13:58:31 +00:00
faketruth
eceead8394 Finally got the multiblock packet working! It seems the byte order was wrong
git-svn-id: http://mc-server.googlecode.com/svn/trunk@352 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 13:41:42 +00:00
faketruth
4dda2a5c2b MultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/
git-svn-id: http://mc-server.googlecode.com/svn/trunk@351 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 01:22:06 +00:00
faketruth
a2f6ab93b6 Chunks are successfully streamed to clients (in a bad a slow way, but whatever)
Fixed respawn packet for 1.2.2

git-svn-id: http://mc-server.googlecode.com/svn/trunk@350 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 18:56:56 +00:00
faketruth
d24c07a550 Clients can join the server, but chunks are sent completely empty
git-svn-id: http://mc-server.googlecode.com/svn/trunk@349 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 18:08:53 +00:00
faketruth
4baa9e2709 Forgot to update packet size (though I'm not even sure it's used anymore)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@348 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 17:14:23 +00:00
faketruth
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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@347 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 17:07:41 +00:00
faketruth
867fc8ee0d New redstone simulator. Should work without crashes!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@345 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 15:18:59 +00:00
madmaxoft@gmail.com
93d73ac520 Fixed the authenticator bug
git-svn-id: http://mc-server.googlecode.com/svn/trunk@344 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 20:25:11 +00:00
faketruth
bba824a1c6 Making sure cClientHandle::m_Player was NULL after authentication completed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@343 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 13:40:40 +00:00
madmaxoft@gmail.com
94132159be Added validity checks to world broadcasting. Also added logging to cPlayer deletion to catch that stupid BugByBoo.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@342 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 08:40:15 +00:00
madmaxoft@gmail.com
5d0da9a2c0 Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@341 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 16:59:59 +00:00
madmaxoft@gmail.com
a4503ddb77 Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk lists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@340 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 14:58:07 +00:00
faketruth
ac117959d3 Server uses ~40% less CPU now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@339 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 14:22:03 +00:00
madmaxoft@gmail.com
0f88ed7c72 Linux compilation fix (y u no support const_iterator, gcc?)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@338 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 12:37:46 +00:00
madmaxoft@gmail.com
013ae71c87 Chunk now has an indicator of load failure; Chunk generator uses cChunkStay
git-svn-id: http://mc-server.googlecode.com/svn/trunk@337 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 12:11:14 +00:00
madmaxoft@gmail.com
230f98a774 Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@336 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 10:45:53 +00:00
madmaxoft@gmail.com
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)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@334 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 10:01:42 +00:00
madmaxoft@gmail.com
2c9198b208 Const-correctness for packet broadcasting (fixes GCC compilation)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@333 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 08:10:51 +00:00
madmaxoft@gmail.com
dee0a12029 Fix for the perpetual load issue
git-svn-id: http://mc-server.googlecode.com/svn/trunk@332 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-27 14:23:16 +00:00
madmaxoft@gmail.com
1f88db187b Implemented chunk loading without generating on load-failure
git-svn-id: http://mc-server.googlecode.com/svn/trunk@331 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 16:46:23 +00:00
madmaxoft@gmail.com
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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@330 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 16:15:09 +00:00
madmaxoft@gmail.com
7268a70902 Attempt at fixing crashes with disconnecting players
git-svn-id: http://mc-server.googlecode.com/svn/trunk@329 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 12:55:42 +00:00
madmaxoft@gmail.com
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 :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@328 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 00:36:51 +00:00
madmaxoft@gmail.com
a14e015354 Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)
Extended the range of ignored packets in pre-game client states (fixes connection issues with some mods installed)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@327 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-25 23:48:28 +00:00
madmaxoft@gmail.com
bf19f7ae9c Made the viewdistance settable by users and default in settings.ini. The default is 9.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@326 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 22:51:03 +00:00
madmaxoft@gmail.com
062b38b8b0 Plain pointer cChunkPtr finishing touches; removed cChunk's critical sections
git-svn-id: http://mc-server.googlecode.com/svn/trunk@325 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 21:21:37 +00:00
madmaxoft@gmail.com
9d3b837461 Made cChunkPtr a plain old pointer again, since it's safe now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@324 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 21:02:38 +00:00
madmaxoft@gmail.com
8f85b9c625 cChunk: removed unused code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@323 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 11:38:10 +00:00
madmaxoft@gmail.com
4455a1643d Added cmdline parameters "/cdg" and "/cdf" for crashdump flags "globals" and "full memory"
git-svn-id: http://mc-server.googlecode.com/svn/trunk@322 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 11:37:53 +00:00
madmaxoft@gmail.com
8cfcc2915c Rewritten ore generation from scratch, using a different (much faster) algorithm. Chunk generation now about 2x faster :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@321 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 21:20:20 +00:00
faketruth
3de5480191 That 2nd assert didn't make much sense...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@320 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 20:40:32 +00:00
faketruth
3ca9b52ab2 Added some asserts to trace a bug
git-svn-id: http://mc-server.googlecode.com/svn/trunk@319 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 20:33:33 +00:00
faketruth
6015b59f13 Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@318 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 19:31:30 +00:00
madmaxoft@gmail.com
1cb756cbf2 Noise function optimization (chunk generation now about 1.5x faster :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@317 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 17:04:04 +00:00