summaryrefslogtreecommitdiffstats
path: root/source/cClientHandle.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* Fixed players not spawning to others when they join the server.madmaxoft@gmail.com2012-09-231-0/+3
* Tweaked logging.madmaxoft@gmail.com2012-09-231-0/+6
* Refactored windows.madmaxoft@gmail.com2012-09-201-12/+14
* Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com2012-09-111-0/+11
* Relaxed the check for held item, the client sometimes sends wrong ItemType.madmaxoft@gmail.com2012-09-071-2/+9
* Added protocol-specific authentication, now works for both 1.2.5 and 1.3.2madmaxoft@gmail.com2012-09-061-1/+1
* ClientHandle: added an overflow buffer for outgoing data, it fixes the "bad packet id" problem with 1.3.2.madmaxoft@gmail.com2012-09-061-5/+32
* Added the possibility of reserved player slots by implementing the HandleHandshake hook!faketruth2012-09-051-0/+17
* Fixed a possible race condition in cClientHandle's packet sending code; prepared for moving cSocket out of cClientHandle's ownership.madmaxoft@gmail.com2012-09-041-2/+5
* Next iteration on the 1.3.2 protocol. Still no good, but sometimes it just gets through. For your testing pleasures ;)madmaxoft@gmail.com2012-09-021-1/+1
* Fix for Rev 814, the correct cPlayer object is actually sent into the callbacks.madmaxoft@gmail.com2012-09-011-1/+1
* Implemented: http://www.mc-server.org/support/index.php?do=details&task_id=239&project=2&dev=26lapayo94@gmail.com2012-09-011-1/+1
* Progress on the 1.3.2 protocol.madmaxoft@gmail.com2012-08-311-2/+2
* Another possible deadlock in cClientHandle averted. Hope this is the one.madmaxoft@gmail.com2012-08-311-5/+13
* Fixed one possibility of a deadlock in cClientHandle::SendChunkData()madmaxoft@gmail.com2012-08-311-13/+16
* Added a basic protocol recognizer and the base for 1.3.2 protocol.madmaxoft@gmail.com2012-08-301-25/+10
* cProtocol handles the initial handshake up to player loginmadmaxoft@gmail.com2012-08-301-58/+4
* Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com2012-08-291-4/+4
* Moved all packet-serializing code into cProtocol125; half the packet classes aren't needed anymore.madmaxoft@gmail.com2012-08-281-38/+36
* Cut out all packet handling to a separate cProtocol descendantmadmaxoft@gmail.com2012-08-271-892/+175
* git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com2012-08-261-0/+16
* cSocket doesn't use cPackets.madmaxoft@gmail.com2012-08-251-10/+7
* cWorld doesn't use cPackets.madmaxoft@gmail.com2012-08-251-0/+58
* Removed cPackets from cChunk.madmaxoft@gmail.com2012-08-251-2/+69
* cPickup doesn't use cPackets.madmaxoft@gmail.com2012-08-241-0/+13
* Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com2012-08-241-0/+77
* Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com2012-08-191-0/+39
* Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com2012-08-191-49/+286
* Another handful of packets rewritten.madmaxoft@gmail.com2012-08-191-31/+123
* Fixed Bug #236lapayo94@gmail.com2012-08-191-3/+3
* Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com2012-08-181-26/+28
* Packet refactoring, phase two, partial. Rewritten a few packet handling functions not to use cPacket-descendant objects.madmaxoft@gmail.com2012-08-181-115/+196
* Packets now parse themselves from a cByteBuffer object (1st part of packeting rewrite, http://forum.mc-server.org/showthread.php?tid=524 )madmaxoft@gmail.com2012-08-171-15/+37
* Added temporary debug statistics of the RelEntMoveLook packet removal efficiencymadmaxoft@gmail.com2012-08-151-0/+12
* A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com2012-08-061-2/+4
* Simple health regeneration systemlapayo94@gmail.com2012-07-171-14/+3
* Fixed some small bugs :)lapayo94@gmail.com2012-07-161-1/+1
* A new Block handling system :olapayo94@gmail.com2012-07-151-560/+78
* The gamemode is now only saved if it is different from the current gamemode.lapayo94@gmail.com2012-07-131-1/+2
* Save last gamemodelapayo94@gmail.com2012-07-121-1/+9
* Leaves: Applied patch by Luksor.cedeel@gmail.com2012-06-161-0/+5
* Proper kick reasons!cedeel@gmail.com2012-06-161-3/+6
* Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com2012-06-161-1/+1
* Lit furnaces can be used by playersmadmaxoft@gmail.com2012-06-151-0/+1
* Basic handling of vines. No growth yet.cedeel@gmail.com2012-06-151-13/+18
* Fixed placing block on tall grass (FS #209)madmaxoft@gmail.com2012-06-151-1/+1
* Fixed snow again, this time for real.cedeel@gmail.com2012-06-141-2/+17
* Fixes placing blocks on snow.cedeel@gmail.com2012-06-141-10/+21
* Attempt to bring sanity to newlines across systems.cedeel@gmail.com2012-06-141-2084/+2084
* Added a BlockToPickup hook for modifying pickups when a player breaks a block.madmaxoft@gmail.com2012-06-131-2/+4
* Disallowed placing cacti in watermadmaxoft@gmail.com2012-06-091-0/+2
* Plants growable by bonemeal are settable in the world.ini. Default matches vanilla MC.madmaxoft@gmail.com2012-06-091-1/+1
* Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com2012-06-091-1/+5
* Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com2012-06-081-0/+5
* Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com2012-06-071-3/+33
* Repeaters' delays can be set by rclkmadmaxoft@gmail.com2012-06-071-3/+8
* Multiple packets are serialized in one request.madmaxoft@gmail.com2012-06-071-5/+6
* Added more statistics to the packet queue overfill problem.madmaxoft@gmail.com2012-06-071-2/+20
* (Temporary) hotfix for the "too many packets" error - set the packet limit 5x higher.madmaxoft@gmail.com2012-06-071-1/+7
* Item-dropping code rewritten and centralized - now there's only one place to modify if we want to split or merge same-item drops: cWorld:SpawnItemPickups(). Also, mined blocks can now drop more items, and they recognize if they're being mined by the correct tool.madmaxoft@gmail.com2012-06-061-41/+41
* Updated zlib, added chat formatting, fixed upside down stairs and slabs, fixed makefiles, hopefully updated vc project filescedeel@gmail.com2012-06-041-4/+21
* ClientHandle dumps the contents of all packets in the queue if the packet queue gets overloaded to the point of client-kicking. Use this to debug FS #197.madmaxoft@gmail.com2012-06-021-0/+63
* Seeds can now be planted and they grow (albeit too quickly and too non-uniformly, need to fix blocktick selection)madmaxoft@gmail.com2012-05-301-1/+28
* Farmland is created using a hoe on dirt or grass.madmaxoft@gmail.com2012-05-291-2/+12
* Refactored item-eating from cClientHandle into cPlayermadmaxoft@gmail.com2012-05-291-71/+2
* 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.madmaxoft@gmail.com2012-05-291-65/+4
* Merged the composable_generator branch into the trunkmadmaxoft@gmail.com2012-05-251-4/+33
* 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!madmaxoft@gmail.com2012-04-101-1/+16
* Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )madmaxoft@gmail.com2012-04-031-2/+8
* Added the supported client version to banner; shamelessly added myself to the authors list ;)madmaxoft@gmail.com2012-03-261-1/+1
* Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.madmaxoft@gmail.com2012-03-241-7/+3
* Protocol version bumped up to 29 (MC 1.2.4), seems to work.madmaxoft@gmail.com2012-03-241-1/+1
* Removed the split between 1.2.3 and 1.1, left only 1.2.3 codemadmaxoft@gmail.com2012-03-241-16/+0
* Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com2012-03-221-4/+7
* Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com2012-03-141-4/+4
* Not sending chunks to the client twicemadmaxoft@gmail.com2012-03-111-21/+16
* Fixed a few obsoleted functionsmadmaxoft@gmail.com2012-03-101-6/+8
* Using references instead of pointers for sending packetsmadmaxoft@gmail.com2012-03-101-15/+15
* cClientHandles have a unique ID now to distinguish themfaketruth2012-03-091-1/+11
* Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380faketruth2012-03-071-1/+0
* Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkListsmadmaxoft@gmail.com2012-03-061-4/+11
* 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.com2012-03-051-33/+22
* Changed signed char to unsigned char in block packets, so we can receive height up to 255faketruth2012-03-041-4/+6
* Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth2012-03-031-2/+2
* That should not have been committed...faketruth2012-03-021-1/+1
* Started carefully moving to 1.2.2faketruth2012-03-011-1/+18
* Fixed the authenticator bugmadmaxoft@gmail.com2012-02-291-0/+6
* Making sure cClientHandle::m_Player was NULL after authentication completedfaketruth2012-02-291-0/+1
* Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk listsmadmaxoft@gmail.com2012-02-281-3/+10
* Attempt at fixing crashes with disconnecting playersmadmaxoft@gmail.com2012-02-261-0/+8
* 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.com2012-02-261-115/+73
* Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)madmaxoft@gmail.com2012-02-261-9/+8
* Made the viewdistance settable by users and default in settings.ini. The default is 9.madmaxoft@gmail.com2012-02-231-6/+27
* Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.faketruth2012-02-221-0/+2
* Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com2012-02-211-12/+9
* Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com2012-02-211-11/+3
* Removed some more cChunkPtr usagemadmaxoft@gmail.com2012-02-201-1/+4
* Using own ASSERT() that logs to filefaketruth2012-02-201-5/+5
* Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com2012-02-171-14/+14
* Got rid of dangerous GetEntity(), not using DoWithEntity()faketruth2012-02-161-6/+20
* Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com2012-02-151-87/+85
* Rewritten most of the code for multithreading; still not 100%, but getting there. If this commit proves to be too problematic, we can always undo it.madmaxoft@gmail.com2012-02-131-294/+406
* MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com2012-02-081-9/+10
* cSocketThreads plugged in for cClientHandle reading. Sending still kept the old way. Please help me test this commit thoroughly, this is a change that can break on subtleties.madmaxoft@gmail.com2012-02-081-110/+65
* Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility.madmaxoft@gmail.com2012-02-071-23/+38
* Now showing proper error messages when sockets fail :)faketruth2012-02-051-1/+1
* cClientHandle: split packet handling into separate functions for claritymadmaxoft@gmail.com2012-02-031-969/+1158
* cClientHandle: gotten rid of the obnoxious m_pState, now using direct members insteadmadmaxoft@gmail.com2012-02-021-332/+333
* Rewritten cAuthenticator to make use of the new cIsThread architecture - now authentication runs in a single separate thread for all clients;madmaxoft@gmail.com2012-02-011-40/+28
* sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com2012-02-011-8/+12
* Slight code cleanup, no big changesmadmaxoft@gmail.com2012-01-311-40/+126
* VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com2012-01-291-8/+3
* Cactus towers can be destroyed by removing the bottom blockfaketruth2012-01-231-1/+53
* MCServer is now compatible with Minecraft client 1.1 (as long as the client is not using any mods/plugins I think)faketruth2012-01-201-2/+6
* Terrain generation is synchronous again, async generation has bugs.faketruth2012-01-191-1/+33
* Fixed crashing bug in cClientHandle::~cClientHandlefaketruth2012-01-021-1/+3
* Fixed the numchunks console command.faketruth2012-01-011-8/+8
* - implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)lapayo94@gmail.com2012-01-011-17/+37
* Chests, furnaces and dispensers face the correct way now.faketruth2012-01-011-0/+5
* Made a couple of functions in cChunk inline, this should speed up several block operations on chunksfaketruth2011-12-311-16/+6
* - Initial food handling by cedeelmtilden@gmail.com2011-12-291-13/+30
* - Chests open and close on clients when opened/closedmtilden@gmail.com2011-12-291-1/+1
* - Pickups should now burn in firelapayo94@gmail.com2011-12-291-2/+9
* - implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com2011-12-281-84/+43
* - Fixed too fast actions kick for realmtilden@gmail.com2011-12-281-5/+5
* Fixed some small memory leakslapayo94@gmail.com2011-12-281-0/+5
* - Didn't notice steak missing as wellmtilden@gmail.com2011-12-281-0/+8
* - Added chicken to eatingmtilden@gmail.com2011-12-281-0/+9
* I'll lower my frequency of commits.. 1000 default ends up sent more often than calc'd packets.mtilden@gmail.com2011-12-271-1/+0
* Oops, accidentally left debug printmtilden@gmail.com2011-12-271-1/+0
* - Added basic ping handling.mtilden@gmail.com2011-12-271-3/+27
* Slightly cleaner block change interactions static in headermtilden@gmail.com2011-12-271-2/+2
* Set player interaction kicking to 5 interactions per .1 seconds to help with lag disconnects. Still need to change code to lessen the false positives.admin@omencraft.com2011-12-271-2/+2
* Players can switch worlds on the fly with the command /gotoworld [worldName]. This uses the function cPlayer::MoveToWorld()faketruth2011-12-261-0/+14
* Fixed the little check for max players. If somehow a player was able to connect and the number of players would exceed the max players, everybody is allowed in and the server will never be 'full'. It's fixed nowfaketruth2011-12-261-9/+9
* - Linux compatible fixes including updated makefilemtilden@gmail.com2011-12-261-3/+7
* - Default Notchian Ping (static until ping implemented through keepalive send/receive)mtilden@gmail.com2011-12-261-2/+10
* - Scoreboard deleting moved to cClientHandle::~cClientHandle() with checks. Please test this every way you can with clients disconnecting from the internet, crashing, etc. It should work on all cases as every client gets called in this part to be 'Deleted'mtilden@gmail.com2011-12-261-6/+10
* - Cleaned up PLI Packet and its creation/sending and fixed bug of player not being removed on scoreboard (forgot to send color in the removal packet)mtilden@gmail.com2011-12-261-6/+6
* - Make Color was using 2 extra characters which took 2 characters off the 16 max (including color codes) for scoreboard displaymtilden@gmail.com2011-12-261-0/+11
* Hold item is now dropped when inventory is closedlapayo94@gmail.com2011-12-251-2/+4
* Code improvementslapayo94@gmail.com2011-12-251-0/+1
* - improved and simplified the door system (shorter, clearer)lapayo94@gmail.com2011-12-251-26/+25
* Chunks are generated in a separate thread allowing players to keep on playing and chatting while chunks are generated. This means, however, that cWorld::GetChunk() does not always return a chunk and is something you need to be aware of. I am not entirely sure if all this is completely stable, but I think so :Ofaketruth2011-12-251-7/+21
* Max. players and MOTD are now changeable in the settings.inilapayo94@gmail.com2011-12-241-3/+9
* Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking atfaketruth2011-12-231-3/+3
* Digging leaves with shears now drops leaveslapayo94@gmail.com2011-12-221-1/+2
* - Crafting fixed in 1.0.0lapayo94@gmail.com2011-12-211-7/+26
* Found and fixed a bug not letting users place blocks in water or lava.admin@omencraft.com2011-11-111-2/+7
* Fixed logging in underground bug this time. A hack, but it works. :Dadmin@omencraft.com2011-11-101-4/+4
* Can now set gamemode via lua.admin@omencraft.com2011-11-101-1/+1
* Made block action sanity checks more robust, water buckets, lava buckets and empty buckets should all now work.admin@omencraft.com2011-11-101-15/+70
* Added code for doors. Doors now place correctly but opening them is buggy and I need to change the current opening code to use bitwise operators.admin@omencraft.com2011-11-101-2/+48
* Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.admin@omencraft.com2011-11-101-17/+7
* Added m_IP to player class and binding to get IP for LUA. (Probably should use m_pState)admin@omencraft.com2011-11-091-0/+2
* It's a Squirrel!!faketruth2011-11-081-0/+1
* Updated redstone and pistons some mode. If you break an extended piston the piston extension will now also break. When a redstone device is broken by something other than a person the redstone circuit should now update.admin@omencraft.com2011-11-071-15/+34
* Added Sebi's changes to pistons and item drops.admin@omencraft.com2011-11-071-13/+20
* Pistons now generate noise and animate when moving.admin@omencraft.com2011-11-071-1/+1
* Redstone wire now updates correctly when added and removed. it also updates all currently programmed redstone items and wire circuits. Also cleaned up the mess I left of the code.admin@omencraft.com2011-11-061-2/+6
* Redstone is now self aware. It's not quite as dumb as it used to be at any rate. Redstone wires have no range and understand they are supposed to stay on whenever there's an active torch touching it. (Need to add other power devices)admin@omencraft.com2011-11-061-9/+29
* Patch with diff file created by Sebi (implemented some stuff like lava physics, drops are deleted when in lava, water is now slower, lava gives actual damage etc.). Pistons now work mostly as they should. They do not yet show the motion animation and do not emit sound. They do extend, push, and retract as they should though. Right now the only way to activate a piston is to light redstone wire adjacent to it with a redstone torch.admin@omencraft.com2011-11-061-7/+5
* Added all the items up to Beta 1.9.5. Added pistons and piston class.admin@omencraft.com2011-11-051-2/+10
* Added (Probably incorrectly) a cRedstone class. Also, palcing a redstone torch will recursively light any redstone wire it's connected to. Removing a torch from an active wire will unlight the entire length. Class needs to be updated to make use of non deprecated function. Current deprecated function warning drastically slows redstone performance.admin@omencraft.com2011-11-041-5/+27
* Fixed some redstone items and a bug that prevented floats from client to server packets reading correctly on 64 bit linux.admin@omencraft.com2011-11-031-2/+0
* Added some redstone items.admin@omencraft.com2011-11-031-6/+30
* Updated the thunderbolt packet. Lightning and rain can be tested with a workbench and a chest. >:)admin@omencraft.com2011-11-031-7/+17
* Added New/Invaid State and Thunderbolt packets. For testing purposes it now rains whenever a player opens a workbench and stops when they pen a chest. The rain start/stop in only sent to the sole clientopening the items.admin@omencraft.com2011-11-021-7/+26
* Fixed some "Entity was not found in any chunk!" warningsfaketruth2011-11-021-4/+8
* Fixed player spawn teleport postion.admin@omencraft.com2011-11-021-1/+2
* fixed player spawning in the ground.admin@omencraft.com2011-11-011-0/+4
* Accidentally removed a line of codefaketruth2011-11-011-1/+2
* You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth2011-11-011-46/+49
* Put in some sanity checks to ensure players don't interact with blocks too quickly. Changed gamemode to be player based. (MCServer crashes when picking up an item. Need to find and fix bug.)admin@omencraft.com2011-11-011-5/+23
* Players can now place blocks in creative mode. The blocks players select from the creative mode inventory are not stored in the players' inventory. (I kind of like that)admin@omencraft.com2011-11-011-3/+3
* Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth2011-10-311-15/+16
* Fixed a memory leakfaketruth2011-10-271-0/+1
* Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com2011-10-261-3/+4
* Moved GAMEMODE declaration to a single place... cPacket.h. Player can't take damage any more but can still sometimes die on spawn. Not sure why. Falling through the void does not kill you yet.admin@omencraft.com2011-10-261-2/+2
* Creative mode now breaks blocks without providing block drops. Need to work with Player's Inventory for proper creative mode support. GAMEMODE is declared and set twice.admin@omencraft.com2011-10-261-3/+3
* Added CreateInventoryAction packet for creative mode. Used cPacketEntityEquipment as template. Forced server into Creative Mode. Can't break blocks yet. Player can stil be damaged in creative mode and dying takes you back to survival mode.admin@omencraft.com2011-10-261-0/+2
* added simple code for server side item durabilty on tool items that have durabilty. need to add block destroyed durability modifier.admin@omencraft.com2011-10-261-3/+70
* Abstracted sockets some more to ensure the same behavior over the entire program and on multiple platforms.faketruth2011-10-231-19/+3
* Compiles for linuxfaketruth2011-10-211-2/+8
* MCServer c++ source filesfaketruth2011-10-031-0/+1082