summaryrefslogtreecommitdiffstats
path: root/source/ClientHandle.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2013-11-04Autogeneration of settings.ini and webadmin.iniTiger Wang1-2/+2
2013-11-03ClientHandle: Fixed an error in player-joining hook.madmaxoft1-2/+2
2013-10-29Changed GameMode() == 1 to IsGameModeCreative in AggressiveMonster.cpp and ClientHandle.cppSTRWarrior1-1/+1
2013-10-29Fixed bug where creative inventory didn't work.STRWarrior1-1/+1
2013-10-28Renamed cWindow constants to include the "wt" prefix.madmaxoft1-2/+2
2013-09-22Changed a commentTiger Wang1-1/+1
2013-09-21Fixed pickup spawning with inherited gamemode.madmaxoft1-0/+1
2013-09-15Removed leftover CanBePlacedOnSideTiger Wang1-7/+0
2013-09-15Removed leftover DoesAllowBlockOnTopTiger Wang1-9/+0
2013-09-09Removed the cDoors class.madmaxoft1-1/+0
2013-09-08Fixed client spawning.madmaxoft1-108/+51
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+9
2013-09-06Implemented SteerVehicle packet.madmaxoft1-0/+9
2013-08-30Shooting a bow kinda works.madmaxoft1-4/+4
2013-08-29Implemented xoft's suggestions [SEE DESC]Tiger Wang1-2/+2
2013-08-28Fixed Minecart spawning issuesTiger Wang1-2/+2
2013-08-24Client can no longer place blocks outside the Y range of the world.madmaxoft1-1/+6
2013-08-24Added comments and fixed a bugTiger Wang1-9/+21
2013-08-24Fixed final slab bugTiger Wang1-1/+1
2013-08-23Double slabs work *choke choke*Tiger Wang1-20/+49
2013-08-22Another fix for #31.madmaxoft1-0/+6
2013-08-20Added a delay between the kick packet and socket close.madmaxoft1-2/+17
2013-08-20Fixed player spawning.madmaxoft1-0/+10
2013-08-19Fixed the extreme strain on the world tick thread.madmaxoft1-0/+2
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-3/+2
2013-08-18Added cWindow property manipulation API.madmaxoft1-17/+17
2013-08-14ClientHandle no longer queues chat messages.madmaxoft1-47/+17
2013-08-14Player counts are now properly handled.madmaxoft1-1/+37
2013-08-13Clients are now ticked in cServer first, then in cWorld once they get assigned a world.madmaxoft1-31/+32
2013-08-12Removed cServer::BroadcastChat() and cServer::SendMessage().madmaxoft1-6/+8
2013-08-11Moved MaxPlayers and Description from cWorld to cServer.madmaxoft1-7/+7
2013-08-11Added OnPlayerAnimation() hook.madmaxoft1-0/+6
2013-08-10Removed extra disconnect messageTiger Wang1-5/+0
2013-08-09Fixed some formatting issues I accidentally introducedJames Ravenscroft1-0/+2
2013-08-09Added IsSwimming and IsSubmerged flags and access methodsJames Ravenscroft1-4/+2
2013-08-08Fixed the jump food exhaustion being added when player is swimmingJames Ravenscroft1-3/+8
2013-08-02Implemented OnPlayerRightClickingEntity() hookmadmaxoft1-0/+4
2013-07-31Implemented the actual tab completion for commands and playernames.madmaxoft1-1/+1
2013-07-30Tab completion packet is handled and sent.madmaxoft1-0/+26
2013-07-29Added the "Edit Sign" packet sent to the client placing a sign.madmaxoft1-0/+9
2013-07-28Player eating is now properly broadcast to other players.madmaxoft1-0/+5
2013-07-28Implemented basic eating support.madmaxoft1-12/+8
2013-07-12First implementation of movement-related hunger and APImadmaxoft@gmail.com1-9/+19
2013-07-08Color codes are stripped from the DC messagemadmaxoft@gmail.com1-1/+1
2013-07-07Fixed sprinting in 1.6.1, made speeds available through API; fixed messages containing quotes.madmaxoft@gmail.com1-0/+11
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-148/+157
2013-07-05Unmounting vehicles implemented in the 1.6.1 waymadmaxoft@gmail.com1-0/+13
2013-07-05Fixed 1.6.1's movement speedmadmaxoft@gmail.com1-0/+3
2013-07-03Fixed player moving between worlds.madmaxoft@gmail.com1-13/+54
2013-06-29Fixed crouch-placing unplaceable items (FS #399)madmaxoft@gmail.com1-1/+1
2013-06-22Plugins can modify message in the OnChat() hook handler.madmaxoft@gmail.com1-2/+3
2013-06-18Crouching will allow block placement on otherwise functional blocks.madmaxoft@gmail.com1-2/+2
2013-06-18Added a crude limiter for explosions sent to client.madmaxoft@gmail.com1-1/+27
2013-06-18More TNT fixes.madmaxoft@gmail.com1-1/+1
2013-06-16Added an elaborative comment on the deadlock prevention codemadmaxoft@gmail.com1-1/+12
2013-06-15First attempt at fixing the inter-threading deadlocks between the tick thread and the socket threadmadmaxoft@gmail.com1-1/+11
2013-06-04Removed cLadder, cSign, cStairs, cTorch and cVine classes, moved their functionality into the appropriate BlockHandlers / ItemHandlersmadmaxoft@gmail.com1-4/+0
2013-06-04Implemented proper player crouching.madmaxoft@gmail.com1-4/+18
2013-05-30LuaWindow: Initial code, the window can be opened, but not much manipulatedmadmaxoft@gmail.com1-1/+1
2013-05-28Moved BlockEntities to a separate foldermadmaxoft@gmail.com1-2/+2
2013-05-24Refactored cInventory to use cItemGrid for the actual Storagemadmaxoft@gmail.com1-4/+3
2013-05-19Inventory code cleanup, players can now see each other's armormadmaxoft@gmail.com1-5/+5
2013-05-08Refactored window clicking code to use different click actionsmadmaxoft@gmail.com1-5/+5
2013-04-19Fixed Linux compilation, slight code cleanupmadmaxoft@gmail.com1-2/+2
2013-04-18Initial implementation of explosions and TNT blockkeyboard.osh@gmail.com1-0/+9
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-16/+14
2013-04-04Fixed personal crafting grid not being tossed on inventory close.madmaxoft@gmail.com1-4/+4
2013-04-02Added support for head yaw tracking and packet sending and fixed bug in BroadcastMovementUpdatekeyboard.osh@gmail.com1-0/+2
2013-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+11
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-1/+25
2013-02-27Made FAST_FLOOR_DIV work correctly, replaced all floorf() divisions with it.madmaxoft@gmail.com1-2/+2
2013-02-21Moved the Speed member into cEntity class instead of its descendants.madmaxoft@gmail.com1-2/+2
2013-02-18Minecarts can now be placed.madmaxoft@gmail.com1-0/+9
2013-02-14Fixed one-hit-blocks not being broken server-sidemadmaxoft@gmail.com1-2/+4
2013-01-13Added missing dig status.luksor111@gmail.com1-0/+6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-171/+307
2013-01-05Not sending multiple DC packets to the client.madmaxoft@gmail.com1-6/+9
2012-12-27Fixed OnBlockPlace hookluksor111@gmail.com1-10/+10
2012-12-26Adjusted the protocol framework to support different types of falling block spawning.madmaxoft@gmail.com1-0/+9
2012-12-24Added the 1.4.6 protocolmadmaxoft@gmail.com1-2/+2
2012-12-21Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested)madmaxoft@gmail.com1-6/+4
2012-12-20Removed chat messages from consoleluksor111@gmail.com1-1/+0
2012-12-19Added dispensers (they can't dispense items yet)luksor111@gmail.com1-15/+21
2012-11-18Fixed wrong c++ standard assumptions about bools.madmaxoft@gmail.com1-2/+4
2012-11-16Fixed boolean comparison.madmaxoft@gmail.com1-1/+1
2012-11-16Removed log message when spawning players on a client.madmaxoft@gmail.com1-1/+1
2012-11-12Fixed block breaking in survival.luksor111@gmail.com1-4/+15
2012-11-11Hopefully a fix for crash when chunks are added to a client being destroyed.madmaxoft@gmail.com1-4/+21
2012-11-01Refactored the world time.madmaxoft@gmail.com1-7/+10
2012-10-22You can now see particles and hear sounds when other players are destroying blocks.luksor111@gmail.com1-0/+1
2012-10-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-0/+9
2012-10-18Converted some const char*s and std::strings to AStringsfaketruth1-0/+9
2012-10-17Fixed a vulnerability in cClientHandle::HandleRespawn()faketruth1-1/+9
2012-10-10Added an option to disable/enable PVP on a per world basisfaketruth1-0/+9
2012-10-06Fixed an invalid direction to AddDirection()madmaxoft@gmail.com1-8/+11
2012-10-06Completely removed the old (buggy) redstone simulator.madmaxoft@gmail.com1-1/+0
2012-10-01Slight refactoring of BlockHandlers - dropping unneeded virtual functionsmadmaxoft@gmail.com1-3/+3
2012-09-30Added falling block entities. Sand and gravel now properly fall downfaketruth1-0/+8
2012-09-29Removed a rogue cSleep from ClientHandle. Since sockets are owned by sockethreads, the client can safely Destroy() itself right after sending a packet.madmaxoft@gmail.com1-4/+0
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+27
2012-09-29Unified folder name-casingmadmaxoft@gmail.com1-2/+2
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-2/+45
2012-09-25Sockets are now owned by SocketThreads instead of ClientHandle (FS #246 and FS #247)madmaxoft@gmail.com1-27/+12
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-23/+23
2012-09-23Source files cleanup: ChunkDataSerializer is Protocol-relatedmadmaxoft@gmail.com1-1/+0
2012-09-23Source files cleanup: OSSupport-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-4/+2
2012-09-23Source files cleanup: Removed unused cBlockToPickupmadmaxoft@gmail.com1-1/+0
2012-09-23Source files cleanup: Mobs-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-1/+1
2012-09-23Source files cleanup: Protocol-related files in a separate subfoldermadmaxoft@gmail.com1-1/+1
2012-09-23Source files cleanup: UI files renamedmadmaxoft@gmail.com1-2/+2
2012-09-23Fixed position confirming for 1.3.2 (FS #245)madmaxoft@gmail.com1-1/+2
2012-09-23Fixed players not spawning to others when they join the server.madmaxoft@gmail.com1-0/+3
2012-09-23Tweaked logging.madmaxoft@gmail.com1-0/+6
2012-09-20Refactored windows.madmaxoft@gmail.com1-12/+14
2012-09-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-0/+11
2012-09-07Relaxed the check for held item, the client sometimes sends wrong ItemType.madmaxoft@gmail.com1-2/+9
2012-09-06Added protocol-specific authentication, now works for both 1.2.5 and 1.3.2madmaxoft@gmail.com1-1/+1
2012-09-06ClientHandle: added an overflow buffer for outgoing data, it fixes the "bad packet id" problem with 1.3.2.madmaxoft@gmail.com1-5/+32
2012-09-05Added the possibility of reserved player slots by implementing the HandleHandshake hook!faketruth1-0/+17
2012-09-04Fixed a possible race condition in cClientHandle's packet sending code; prepared for moving cSocket out of cClientHandle's ownership.madmaxoft@gmail.com1-2/+5
2012-09-02Next iteration on the 1.3.2 protocol. Still no good, but sometimes it just gets through. For your testing pleasures ;)madmaxoft@gmail.com1-1/+1
2012-09-01Fix for Rev 814, the correct cPlayer object is actually sent into the callbacks.madmaxoft@gmail.com1-1/+1
2012-09-01Implemented: http://www.mc-server.org/support/index.php?do=details&task_id=239&project=2&dev=26lapayo94@gmail.com1-1/+1
2012-08-31Progress on the 1.3.2 protocol.madmaxoft@gmail.com1-2/+2
2012-08-31Another possible deadlock in cClientHandle averted. Hope this is the one.madmaxoft@gmail.com1-5/+13
2012-08-31Fixed one possibility of a deadlock in cClientHandle::SendChunkData()madmaxoft@gmail.com1-13/+16
2012-08-30Added a basic protocol recognizer and the base for 1.3.2 protocol.madmaxoft@gmail.com1-25/+10
2012-08-30cProtocol handles the initial handshake up to player loginmadmaxoft@gmail.com1-58/+4
2012-08-29Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com1-4/+4
2012-08-28Moved all packet-serializing code into cProtocol125; half the packet classes aren't needed anymore.madmaxoft@gmail.com1-38/+36
2012-08-27Cut out all packet handling to a separate cProtocol descendantmadmaxoft@gmail.com1-892/+175
2012-08-26git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com1-0/+16
2012-08-25cSocket doesn't use cPackets.madmaxoft@gmail.com1-10/+7
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-0/+58
2012-08-25Removed cPackets from cChunk.madmaxoft@gmail.com1-2/+69
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-0/+13
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-0/+77
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-0/+39
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-49/+286
2012-08-19Another handful of packets rewritten.madmaxoft@gmail.com1-31/+123
2012-08-19Fixed Bug #236lapayo94@gmail.com1-3/+3
2012-08-18Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com1-26/+28
2012-08-18Packet refactoring, phase two, partial. Rewritten a few packet handling functions not to use cPacket-descendant objects.madmaxoft@gmail.com1-115/+196
2012-08-17Packets now parse themselves from a cByteBuffer object (1st part of packeting rewrite, http://forum.mc-server.org/showthread.php?tid=524 )madmaxoft@gmail.com1-15/+37
2012-08-15Added temporary debug statistics of the RelEntMoveLook packet removal efficiencymadmaxoft@gmail.com1-0/+12
2012-08-06A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com1-2/+4
2012-07-17Simple health regeneration systemlapayo94@gmail.com1-14/+3
2012-07-16Fixed some small bugs :)lapayo94@gmail.com1-1/+1
2012-07-15A new Block handling system :olapayo94@gmail.com1-560/+78
2012-07-13The gamemode is now only saved if it is different from the current gamemode.lapayo94@gmail.com1-1/+2
2012-07-12Save last gamemodelapayo94@gmail.com1-1/+9
2012-06-16Leaves: Applied patch by Luksor.cedeel@gmail.com1-0/+5
2012-06-16Proper kick reasons!cedeel@gmail.com1-3/+6
2012-06-16Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com1-1/+1
2012-06-15Lit furnaces can be used by playersmadmaxoft@gmail.com1-0/+1
2012-06-15Basic handling of vines. No growth yet.cedeel@gmail.com1-13/+18
2012-06-15Fixed placing block on tall grass (FS #209)madmaxoft@gmail.com1-1/+1
2012-06-14Fixed snow again, this time for real.cedeel@gmail.com1-2/+17
2012-06-14Fixes placing blocks on snow.cedeel@gmail.com1-10/+21
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-2084/+2084
2012-06-13Added a BlockToPickup hook for modifying pickups when a player breaks a block.madmaxoft@gmail.com1-2/+4
2012-06-09Disallowed placing cacti in watermadmaxoft@gmail.com1-0/+2
2012-06-09Plants growable by bonemeal are settable in the world.ini. Default matches vanilla MC.madmaxoft@gmail.com1-1/+1
2012-06-09Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com1-1/+5
2012-06-08Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com1-0/+5
2012-06-07Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com1-3/+33
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-3/+8
2012-06-07Multiple packets are serialized in one request.madmaxoft@gmail.com1-5/+6
2012-06-07Added more statistics to the packet queue overfill problem.madmaxoft@gmail.com1-2/+20
2012-06-07(Temporary) hotfix for the "too many packets" error - set the packet limit 5x higher.madmaxoft@gmail.com1-1/+7
2012-06-06Item-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.com1-41/+41
2012-06-04Updated zlib, added chat formatting, fixed upside down stairs and slabs, fixed makefiles, hopefully updated vc project filescedeel@gmail.com1-4/+21
2012-06-02ClientHandle 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.com1-0/+63
2012-05-30Seeds can now be planted and they grow (albeit too quickly and too non-uniformly, need to fix blocktick selection)madmaxoft@gmail.com1-1/+28
2012-05-29Farmland is created using a hoe on dirt or grass.madmaxoft@gmail.com1-2/+12
2012-05-29Refactored item-eating from cClientHandle into cPlayermadmaxoft@gmail.com1-71/+2
2012-05-29Added 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.com1-65/+4
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-4/+33
2012-04-10Added 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.com1-1/+16
2012-04-03Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )madmaxoft@gmail.com1-2/+8
2012-03-26Added the supported client version to banner; shamelessly added myself to the authors list ;)madmaxoft@gmail.com1-1/+1
2012-03-24Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.madmaxoft@gmail.com1-7/+3
2012-03-24Protocol version bumped up to 29 (MC 1.2.4), seems to work.madmaxoft@gmail.com1-1/+1
2012-03-24Removed the split between 1.2.3 and 1.1, left only 1.2.3 codemadmaxoft@gmail.com1-16/+0
2012-03-22Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com1-4/+7
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-4/+4
2012-03-11Not sending chunks to the client twicemadmaxoft@gmail.com1-21/+16
2012-03-10Fixed a few obsoleted functionsmadmaxoft@gmail.com1-6/+8
2012-03-10Using references instead of pointers for sending packetsmadmaxoft@gmail.com1-15/+15
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-1/+11
2012-03-07Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380faketruth1-1/+0
2012-03-06Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkListsmadmaxoft@gmail.com1-4/+11
2012-03-05ChunkSender: 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.com1-33/+22
2012-03-04Changed signed char to unsigned char in block packets, so we can receive height up to 255faketruth1-4/+6
2012-03-03Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth1-2/+2
2012-03-02That should not have been committed...faketruth1-1/+1
2012-03-01Started carefully moving to 1.2.2faketruth1-1/+18
2012-02-29Fixed the authenticator bugmadmaxoft@gmail.com1-0/+6
2012-02-29Making sure cClientHandle::m_Player was NULL after authentication completedfaketruth1-0/+1
2012-02-28Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk listsmadmaxoft@gmail.com1-3/+10
2012-02-26Attempt at fixing crashes with disconnecting playersmadmaxoft@gmail.com1-0/+8
2012-02-26Using 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.com1-115/+73
2012-02-26Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)madmaxoft@gmail.com1-9/+8
2012-02-23Made the viewdistance settable by users and default in settings.ini. The default is 9.madmaxoft@gmail.com1-6/+27
2012-02-22Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.faketruth1-0/+2
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-12/+9
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-11/+3
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-1/+4
2012-02-20Using own ASSERT() that logs to filefaketruth1-5/+5
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-14/+14
2012-02-16Got rid of dangerous GetEntity(), not using DoWithEntity()faketruth1-6/+20
2012-02-15Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com1-87/+85
2012-02-13Rewritten 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.com1-294/+406
2012-02-08MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com1-9/+10
2012-02-08cSocketThreads 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.com1-110/+65
2012-02-07Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility.madmaxoft@gmail.com1-23/+38
2012-02-05Now showing proper error messages when sockets fail :)faketruth1-1/+1
2012-02-03cClientHandle: split packet handling into separate functions for claritymadmaxoft@gmail.com1-969/+1158
2012-02-02cClientHandle: gotten rid of the obnoxious m_pState, now using direct members insteadmadmaxoft@gmail.com1-332/+333
2012-02-01Rewritten cAuthenticator to make use of the new cIsThread architecture - now authentication runs in a single separate thread for all clients;madmaxoft@gmail.com1-40/+28
2012-02-01sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com1-8/+12
2012-01-31Slight code cleanup, no big changesmadmaxoft@gmail.com1-40/+126
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-8/+3
2012-01-23Cactus towers can be destroyed by removing the bottom blockfaketruth1-1/+53
2012-01-20MCServer is now compatible with Minecraft client 1.1 (as long as the client is not using any mods/plugins I think)faketruth1-2/+6
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-1/+33
2012-01-02Fixed crashing bug in cClientHandle::~cClientHandlefaketruth1-1/+3
2012-01-01Fixed the numchunks console command.faketruth1-8/+8
2012-01-01- implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)lapayo94@gmail.com1-17/+37
2012-01-01Chests, furnaces and dispensers face the correct way now.faketruth1-0/+5
2011-12-31Made a couple of functions in cChunk inline, this should speed up several block operations on chunksfaketruth1-16/+6
2011-12-29 - Initial food handling by cedeelmtilden@gmail.com1-13/+30
2011-12-29 - Chests open and close on clients when opened/closedmtilden@gmail.com1-1/+1
2011-12-29- Pickups should now burn in firelapayo94@gmail.com1-2/+9
2011-12-28- implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com1-84/+43
2011-12-28 - Fixed too fast actions kick for realmtilden@gmail.com1-5/+5
2011-12-28Fixed some small memory leakslapayo94@gmail.com1-0/+5
2011-12-28 - Didn't notice steak missing as wellmtilden@gmail.com1-0/+8
2011-12-28 - Added chicken to eatingmtilden@gmail.com1-0/+9
2011-12-27I'll lower my frequency of commits.. 1000 default ends up sent more often than calc'd packets.mtilden@gmail.com1-1/+0
2011-12-27Oops, accidentally left debug printmtilden@gmail.com1-1/+0
2011-12-27 - Added basic ping handling.mtilden@gmail.com1-3/+27
2011-12-27Slightly cleaner block change interactions static in headermtilden@gmail.com1-2/+2
2011-12-27Set 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.com1-2/+2
2011-12-26Players can switch worlds on the fly with the command /gotoworld [worldName]. This uses the function cPlayer::MoveToWorld()faketruth1-0/+14
2011-12-26Fixed 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 nowfaketruth1-9/+9
2011-12-26 - Linux compatible fixes including updated makefilemtilden@gmail.com1-3/+7
2011-12-26 - Default Notchian Ping (static until ping implemented through keepalive send/receive)mtilden@gmail.com1-2/+10
2011-12-26 - 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.com1-6/+10
2011-12-26 - 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.com1-6/+6
2011-12-26 - Make Color was using 2 extra characters which took 2 characters off the 16 max (including color codes) for scoreboard displaymtilden@gmail.com1-0/+11
2011-12-25Hold item is now dropped when inventory is closedlapayo94@gmail.com1-2/+4
2011-12-25Code improvementslapayo94@gmail.com1-0/+1
2011-12-25- improved and simplified the door system (shorter, clearer)lapayo94@gmail.com1-26/+25
2011-12-25Chunks 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 :Ofaketruth1-7/+21
2011-12-24Max. players and MOTD are now changeable in the settings.inilapayo94@gmail.com1-3/+9
2011-12-23Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking atfaketruth1-3/+3
2011-12-22Digging leaves with shears now drops leaveslapayo94@gmail.com1-1/+2
2011-12-21- Crafting fixed in 1.0.0lapayo94@gmail.com1-7/+26
2011-11-11Found and fixed a bug not letting users place blocks in water or lava.admin@omencraft.com1-2/+7
2011-11-10Fixed logging in underground bug this time. A hack, but it works. :Dadmin@omencraft.com1-4/+4
2011-11-10Can now set gamemode via lua.admin@omencraft.com1-1/+1
2011-11-10Made block action sanity checks more robust, water buckets, lava buckets and empty buckets should all now work.admin@omencraft.com1-15/+70
2011-11-10Added 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.com1-2/+48
2011-11-10Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.admin@omencraft.com1-17/+7
2011-11-09Added m_IP to player class and binding to get IP for LUA. (Probably should use m_pState)admin@omencraft.com1-0/+2
2011-11-08It's a Squirrel!!faketruth1-0/+1
2011-11-07Updated 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.com1-15/+34
2011-11-07Added Sebi's changes to pistons and item drops.admin@omencraft.com1-13/+20
2011-11-07Pistons now generate noise and animate when moving.admin@omencraft.com1-1/+1
2011-11-06Redstone 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.com1-2/+6
2011-11-06Redstone 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.com1-9/+29
2011-11-06Patch 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.com1-7/+5
2011-11-05Added all the items up to Beta 1.9.5. Added pistons and piston class.admin@omencraft.com1-2/+10
2011-11-04Added (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.com1-5/+27
2011-11-03Fixed some redstone items and a bug that prevented floats from client to server packets reading correctly on 64 bit linux.admin@omencraft.com1-2/+0
2011-11-03Added some redstone items.admin@omencraft.com1-6/+30
2011-11-03Updated the thunderbolt packet. Lightning and rain can be tested with a workbench and a chest. >:)admin@omencraft.com1-7/+17
2011-11-02Added 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.com1-7/+26
2011-11-02Fixed some "Entity was not found in any chunk!" warningsfaketruth1-4/+8
2011-11-02Fixed player spawn teleport postion.admin@omencraft.com1-1/+2
2011-11-01fixed player spawning in the ground.admin@omencraft.com1-0/+4
2011-11-01Accidentally removed a line of codefaketruth1-1/+2
2011-11-01You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth1-46/+49
2011-11-01Put 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.com1-5/+23
2011-11-01Players 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.com1-3/+3
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-15/+16
2011-10-27Fixed a memory leakfaketruth1-0/+1
2011-10-26Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com1-3/+4
2011-10-26Moved 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.com1-2/+2
2011-10-26Creative 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.com1-3/+3
2011-10-26Added 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.com1-0/+2
2011-10-26added simple code for server side item durabilty on tool items that have durabilty. need to add block destroyed durability modifier.admin@omencraft.com1-3/+70
2011-10-23Abstracted sockets some more to ensure the same behavior over the entire program and on multiple platforms.faketruth1-19/+3
2011-10-21Compiles for linuxfaketruth1-2/+8
2011-10-03MCServer c++ source filesfaketruth1-0/+1082