1
0
Commit Graph

401 Commits

Author SHA1 Message Date
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
madmaxoft@gmail.com
a40ed8bd0d WorldGenerator: fixed small foliage - cacti now generate only at beaches, not underwater.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@316 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 16:11:10 +00:00
faketruth
41d55ef86b Lua seems to have trouble with a combination of overloaded functions and class inheritance, so I renamed TeleportTo( cEntity* ) to TeleportToEntity
/tp command should work again :)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@314 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:46:38 +00:00
madmaxoft@gmail.com
1d1b0fd00d Fixed a potential deadlock in cChunkMap::m_CSLayers vs cWorld::m_CSAllEntities
git-svn-id: http://mc-server.googlecode.com/svn/trunk@313 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:45:00 +00:00
faketruth
d9c25a161e Added a crude way of disabling redstone. It's necessary though, redstone is completely broken, crashes the server all the time
git-svn-id: http://mc-server.googlecode.com/svn/trunk@312 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:35:10 +00:00
faketruth
42a3cd60d4 Added a CriticalSection to cPlugin_NewLua. Lua plugins are not threadsafe but they ARE accessed by multiple threads, this can create some hard to find errors, but I fixed it now :P
git-svn-id: http://mc-server.googlecode.com/svn/trunk@311 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:15:44 +00:00
madmaxoft@gmail.com
e2e261dd17 Restricted windows crash dump generating code to 32-bit platforms only due to inline assembly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@307 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 08:06:56 +00:00
madmaxoft@gmail.com
16da9e07ae Added code to produce dump files on Windows builds to aid with debugging server crashes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@306 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 21:09:42 +00:00
faketruth
be0a659153 Changed ASSERT() to not cause warnings during compile
Added VERIFY(); it's the same as ASSERT() but also works in release builds
VS2010 project uses warning level 4

git-svn-id: http://mc-server.googlecode.com/svn/trunk@305 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 16:42:24 +00:00
madmaxoft@gmail.com
b653e6a012 Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)
Also fixed a threading issue when a player connecting might have gotten stuck in "Downloading world" forever

git-svn-id: http://mc-server.googlecode.com/svn/trunk@304 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 16:27:30 +00:00
madmaxoft@gmail.com
f0145ee9fa Fixed heightmap optimization from rev 302; removed a few more cChunkPtrs
git-svn-id: http://mc-server.googlecode.com/svn/trunk@303 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 15:18:02 +00:00
madmaxoft@gmail.com
da4afc0cf3 Optimized hightmap recalc when setting a chunk's block
git-svn-id: http://mc-server.googlecode.com/svn/trunk@302 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 13:44:06 +00:00
madmaxoft@gmail.com
b4a68e58a9 Fixed block-getting so that simulators work again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@301 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 12:29:05 +00:00
madmaxoft@gmail.com
d592882fe0 Removed some more cChunkPtr usage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@298 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-20 16:39:00 +00:00
faketruth
0b616909e3 Using own ASSERT() that logs to file
git-svn-id: http://mc-server.googlecode.com/svn/trunk@297 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-19 23:00:00 +00:00
faketruth
df39f12e30 Fixed assertion bug in NamedEntitySpawn packet, it used to assert when item ID is 0, but now 0 is allowed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@296 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-19 19:31:38 +00:00
madmaxoft@gmail.com
3a8d2aa421 Substantial cWorld::FastSetBlock() speed up by queueing all such calls and processing them later chunk-wise (makes growing trees in the generator fast again)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@295 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 20:10:57 +00:00
madmaxoft@gmail.com
993bdab1e8 Fixed previous commit: forgot to remove a debugging setting
git-svn-id: http://mc-server.googlecode.com/svn/trunk@294 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 19:20:05 +00:00
madmaxoft@gmail.com
76a92a21d1 Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@293 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 19:18:16 +00:00
madmaxoft@gmail.com
499745c1c7 Thread-safe chunk generation, storage and generator are queried for progress while initializing server
Note that this commit breaks foliage generation - there are no trees in the chunks generated!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@292 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:53:22 +00:00
madmaxoft@gmail.com
57dedd585c Logging: added thread ID to the log output in debug builds
git-svn-id: http://mc-server.googlecode.com/svn/trunk@291 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:51:34 +00:00
madmaxoft@gmail.com
a0c29514d2 Logging: added LOGD macro that logs only in debug builds
git-svn-id: http://mc-server.googlecode.com/svn/trunk@290 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:49:02 +00:00
madmaxoft@gmail.com
b173748c45 Moved stdarg.h inclusion into Globals.h
git-svn-id: http://mc-server.googlecode.com/svn/trunk@289 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:47:27 +00:00
madmaxoft@gmail.com
d2b229d227 cIsThread: Added support for getting current thread ID
git-svn-id: http://mc-server.googlecode.com/svn/trunk@288 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:43:20 +00:00
madmaxoft@gmail.com
7a9925f982 Added the skeleton of the cLightingThread object
git-svn-id: http://mc-server.googlecode.com/svn/trunk@286 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 18:24:34 +00:00
madmaxoft@gmail.com
510133bd35 Chunk coords mostly "upgraded" to include the Y coord for future compatibility
git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 17:56:25 +00:00
madmaxoft@gmail.com
a97774624a Removed useless log messages
git-svn-id: http://mc-server.googlecode.com/svn/trunk@284 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 13:34:16 +00:00
madmaxoft@gmail.com
71097aa49b Lots of logging added
git-svn-id: http://mc-server.googlecode.com/svn/trunk@282 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 11:40:14 +00:00
faketruth
4a7883a5e3 git-svn-id: http://mc-server.googlecode.com/svn/trunk@281 0a769ca7-a7f5-676a-18bf-c427514a06d6 2012-02-16 22:28:19 +00:00
madmaxoft@gmail.com
eefe71f593 New server command "unload" to manually unload unused chunks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@280 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 19:32:31 +00:00
madmaxoft@gmail.com
2928cb6853 cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.
cChunk fix - setting a block to the same value doesn't mark chunk dirty (resulted in un-unloadable chunks)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@279 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 17:45:26 +00:00
faketruth
008addf5d7 Got rid of dangerous GetEntity(), not using DoWithEntity()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@278 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 17:20:28 +00:00
madmaxoft@gmail.com
415d4eaa68 Chunks are now marked as saved
git-svn-id: http://mc-server.googlecode.com/svn/trunk@277 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 16:50:11 +00:00
madmaxoft@gmail.com
44a6fd20c4 Marking chunk dirty after generating
git-svn-id: http://mc-server.googlecode.com/svn/trunk@276 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:53:52 +00:00
madmaxoft@gmail.com
cd2bb55176 cPlayer empty-handed spawn fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@275 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:51:40 +00:00
faketruth
bb396c8cc0 Heightmap is properly generated after loading chunks now, so /spawn and /top should work properly again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@274 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:40:38 +00:00
madmaxoft@gmail.com
423f49d175 Chunk is now marked as dirty; saving only dirty chunks; rewritten load / save not to use cChunkPtr; set VC2008 project to level4 warnings; block entities are now loaded and saved properly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@273 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 13:42:35 +00:00
faketruth
1c4122313f Chunks are properly saved before being unloaded now
numchunks server command works again

git-svn-id: http://mc-server.googlecode.com/svn/trunk@272 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 13:23:54 +00:00
faketruth
85db35a3ba cSocket::GetErrorString() now also compiles on Cygwin
git-svn-id: http://mc-server.googlecode.com/svn/trunk@270 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 11:15:00 +00:00
madmaxoft@gmail.com
3c4bfd9799 Fixed logging in cServer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@269 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 09:35:33 +00:00
faketruth
d15d40ad69 No longer using pointers for Vector3(f/d/i) in cEntity's and cTracer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@268 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 22:50:00 +00:00
faketruth
57a97e8036 New players no longer cause an assert
git-svn-id: http://mc-server.googlecode.com/svn/trunk@267 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 22:11:56 +00:00
faketruth
7a26fbe471 Can use the 'restart' command again. cAuthenticator no longer asserts because it properly stops when the server is stopped.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@266 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 21:47:21 +00:00
faketruth
5958478c59 Fixed a deadlock in WorldStorage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@265 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 21:35:59 +00:00
madmaxoft@gmail.com
01341e2788 Fixed logging formatting error in cWorld
git-svn-id: http://mc-server.googlecode.com/svn/trunk@264 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 14:26:37 +00:00
madmaxoft@gmail.com
1aebcea095 Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@263 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 14:22:44 +00:00
faketruth
5e1033c567 Can now pass any argument to cWorld:ForEachPlayer in Lua! But I'm not even using it.. lol
git-svn-id: http://mc-server.googlecode.com/svn/trunk@262 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 13:16:42 +00:00
madmaxoft@gmail.com
19e711a1e3 Slight cleanup - removed old code, some additional comments on dangerous functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@261 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 21:09:14 +00:00
faketruth
e7ea352f41 Got rid of cWorld::GetAllPlayers() and implemented ForEachPlayer() more or less in Lua
Core now uses ForEachPlayer() to interact with connected players

git-svn-id: http://mc-server.googlecode.com/svn/trunk@260 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 19:14:23 +00:00
faketruth
9f38c219e2 Updated fluid simulators with geser's patch file!
Fluids should behave more like Minecraft's fluids, and lava+water creates stone/cobble/obsidian!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@257 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 13:37:13 +00:00
faketruth
5aeae0fd6d m_World was never set in cBlockEntity's, now it is
git-svn-id: http://mc-server.googlecode.com/svn/trunk@255 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 13:15:09 +00:00
faketruth
dcce79b24d Apparently the Fire plugin is depreciated since it's implemented in C++ :P
Using std::list instead of std::vector for fire, I think this would be faster due to all the adding and removing blocks from lists. Correct me if I'm wrong

git-svn-id: http://mc-server.googlecode.com/svn/trunk@254 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 12:54:54 +00:00
faketruth
504803cb6d Fixed the same leak in FireSimulator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@253 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 12:29:39 +00:00
faketruth
eaa17b6a84 Fixed a (pretty big) memory leak in cSandSimulator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@252 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 12:23:02 +00:00
madmaxoft@gmail.com
4f17362aeb 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-13 21:47:03 +00:00
madmaxoft@gmail.com
10752d2f35 Removed unused code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 19:49:57 +00:00
madmaxoft@gmail.com
a204e33250 Added total chunk count to webadmin
git-svn-id: http://mc-server.googlecode.com/svn/trunk@248 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 18:57:04 +00:00
madmaxoft@gmail.com
356981a51d cPluginManager: slight cleanup
git-svn-id: http://mc-server.googlecode.com/svn/trunk@247 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 17:38:02 +00:00
madmaxoft@gmail.com
6651343261 cMonsterConfig: removed excessive logging
git-svn-id: http://mc-server.googlecode.com/svn/trunk@246 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 17:14:12 +00:00
madmaxoft@gmail.com
32880153ab MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@245 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 12:36:54 +00:00
madmaxoft@gmail.com
c82c636d8c 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@244 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-08 10:02:46 +00:00
madmaxoft@gmail.com
dcd82b6988 cSocket: final localhost fix - made it a function (forgotten file)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@243 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 21:16:34 +00:00
madmaxoft@gmail.com
21f758c9c0 cSocket: final localhost fix - made it a function
git-svn-id: http://mc-server.googlecode.com/svn/trunk@242 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 21:16:03 +00:00
madmaxoft@gmail.com
5c8d7a75bf Temporary fix for Linux compilation. (gcc won't accept a function call in global var initialization)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@241 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 21:04:37 +00:00
madmaxoft@gmail.com
b7d524423c Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility.
Moved data sending from cPacket into cSocket

git-svn-id: http://mc-server.googlecode.com/svn/trunk@240 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 20:49:52 +00:00
madmaxoft@gmail.com
16feb0924e cSocketThreads initial commit. Not yet tested and not yet integrated
git-svn-id: http://mc-server.googlecode.com/svn/trunk@239 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 07:49:00 +00:00
madmaxoft@gmail.com
92981dcb3c Slight cleanup
git-svn-id: http://mc-server.googlecode.com/svn/trunk@238 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 07:44:42 +00:00
madmaxoft@gmail.com
5750fbf65f cSocket: Added more functions that will be needed for the new cSocketThreads
git-svn-id: http://mc-server.googlecode.com/svn/trunk@237 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-07 07:44:00 +00:00
madmaxoft@gmail.com
12fd317a7b cSocket: error reporting function now works correctly on GNU Linux; also includes the error number for all errors
git-svn-id: http://mc-server.googlecode.com/svn/trunk@236 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-06 13:22:28 +00:00
madmaxoft@gmail.com
f2343ad81b cSocket: re-implemented the GetLastErrorString() function; win: error texts are now queried from the system rather than enumerated by the program
git-svn-id: http://mc-server.googlecode.com/svn/trunk@235 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-06 11:53:01 +00:00
faketruth
ab95abb6bd Now showing proper error messages when sockets fail :)
Crossplatform GetLastError function in cSocket

git-svn-id: http://mc-server.googlecode.com/svn/trunk@234 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-05 16:24:16 +00:00
madmaxoft@gmail.com
d6925efab3 cSocket: added error logging to Bind() failures
git-svn-id: http://mc-server.googlecode.com/svn/trunk@233 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-05 15:41:56 +00:00
admin@omencraft.com
da87f9f3c1 putting default settings back to default
git-svn-id: http://mc-server.googlecode.com/svn/trunk@232 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-04 19:44:42 +00:00
admin@omencraft.com
debd0ea559 Fixed a bug in source/cClientHandle.h
git-svn-id: http://mc-server.googlecode.com/svn/trunk@231 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-04 19:40:48 +00:00
faketruth
c4abe1ed6a MCServer should be running fast again on Linux!! YAAAY!!
It seems the intialization of MersenneTwister was really slow on Linux because it did some file reading. Doing this 200 times a tick can be pretty slow...

StringUtils didn't compile in Cygwin due to missing va_list definition

git-svn-id: http://mc-server.googlecode.com/svn/trunk@230 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-03 16:01:25 +00:00
madmaxoft@gmail.com
b8be8a4df0 cClientHandle: split packet handling into separate functions for clarity
git-svn-id: http://mc-server.googlecode.com/svn/trunk@229 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-03 14:33:40 +00:00
madmaxoft@gmail.com
f86d796295 cClientHandle: gotten rid of the obnoxious m_pState, now using direct members instead
git-svn-id: http://mc-server.googlecode.com/svn/trunk@228 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02 21:13:24 +00:00
madmaxoft@gmail.com
dca87cd214 Socket-related assert fixes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@227 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02 16:13:49 +00:00
madmaxoft@gmail.com
99e8f1808c tolua: modified the binding generator to accept AString as a std::string synonym, re-generated Bindings with these settings. Lua callbacks can now safely use AString functions in C++.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@225 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02 14:11:54 +00:00
madmaxoft@gmail.com
f1aaea5022 Removed nonsense "virtual inline" declaration from functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@223 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02 12:43:30 +00:00
madmaxoft@gmail.com
865216b15a cSocket API fix (possible invalid pointer)
cMCLogger slight change (CS ptr -> member)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@222 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-02 07:47:19 +00:00
madmaxoft@gmail.com
48d30d6ab4 Rewritten cAuthenticator to make use of the new cIsThread architecture - now authentication runs in a single separate thread for all clients;
Global player-kicking function (cServer, cRoot);
More char * -> AString conversion

git-svn-id: http://mc-server.googlecode.com/svn/trunk@221 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 22:38:03 +00:00
faketruth
28ff03fcfe Added all current hooks to the new plugin structure.
Converted MagicCarpet to the new plugin structure
When you fall of the MagicCarpet you teleport back up :D

git-svn-id: http://mc-server.googlecode.com/svn/trunk@220 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 19:19:51 +00:00
madmaxoft@gmail.com
cb1ce14169 AString logging fix 2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@218 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 14:08:12 +00:00
madmaxoft@gmail.com
ef196ec22f AString logging fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@217 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 13:50:09 +00:00
madmaxoft@gmail.com
2568bad3cc sprintf() begone! Replaced with StringUtils' Printf()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@216 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 13:43:47 +00:00
madmaxoft@gmail.com
d3614be2e0 Removed a few duplicate includes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@215 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 12:46:44 +00:00
madmaxoft@gmail.com
83fc392198 new cIsThread object for thread encapsulation
git-svn-id: http://mc-server.googlecode.com/svn/trunk@214 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 12:25:26 +00:00
madmaxoft@gmail.com
8f5e834f41 cEvent: fixed wrong errorchecking in win32 Set()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@213 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 09:34:15 +00:00
madmaxoft@gmail.com
35d89bc918 StringUtils: SplitString() fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@212 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 09:33:37 +00:00
madmaxoft@gmail.com
ced8e6f470 auto_ptr fix 2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@211 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 09:19:21 +00:00
madmaxoft@gmail.com
bb49f0e021 Introducing StringUtils - the place to be if you are a generic string routine :) No more sprintf()!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@209 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 09:12:54 +00:00
madmaxoft@gmail.com
3364ecc284 Fixed a sigsegv on *nix (cFile double-closing files)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@208 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 07:01:21 +00:00
faketruth
28bc14e267 Plugins can now be enabled and disabled through WebAdmin
WebPlugins can now have spaces in their tab names

git-svn-id: http://mc-server.googlecode.com/svn/trunk@204 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01 00:02:48 +00:00
faketruth
968f41ba51 Changed how Lua handles the (Post)Params in the HTTPRequest of a WebPlugin
It should now be theoretically possible to upload files through WebAdmin

git-svn-id: http://mc-server.googlecode.com/svn/trunk@203 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 20:56:42 +00:00
madmaxoft@gmail.com
59e740035e Slight code cleanup, no big changes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@202 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 18:06:24 +00:00
madmaxoft@gmail.com
14b09ee59b Another cEvent fix, I wish I could get it finally right
git-svn-id: http://mc-server.googlecode.com/svn/trunk@201 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 12:10:40 +00:00
madmaxoft@gmail.com
154399ccd1 Hopefully fixed pthreads in cEvent (again)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@200 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 12:09:34 +00:00
madmaxoft@gmail.com
8baa234541 cEvent class cleanup (single-event only, since multi-event wasn't used and wouldn't work on *nix anyway)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@199 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 10:45:53 +00:00
mtilden@gmail.com
16f92b2901 Linux fixes, but while it compiles, when a user joins it crashes the server with "*** glibc detected *** ./MCServer: double free or corruption (out): 0x00007fb5f5158db0 ***"
Please look into this. Also, am I the only one compiling/using Linux?

git-svn-id: http://mc-server.googlecode.com/svn/trunk@198 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 05:37:59 +00:00
faketruth
c142424571 Can now receive POST data in WebPlugins!
Fixed Debug With optimized Noise in VS2010 by having it run the correct MCServer_debug.exe instead of MCServer.exe
Changed winsock.h to Winsock2.h in Globals.h so sockets can be graciously closed (See webserver Socket::Close() )

git-svn-id: http://mc-server.googlecode.com/svn/trunk@197 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-31 00:38:18 +00:00
madmaxoft@gmail.com
f4583fda98 Replaced most FILE operations with a cFile object
git-svn-id: http://mc-server.googlecode.com/svn/trunk@196 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 22:48:38 +00:00
madmaxoft@gmail.com
b834841aa1 Fixed a problem in cCSLock (sorry); reverted cChunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@195 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 21:54:40 +00:00
faketruth
9dfa0f1f15 Added a WebAdmin interface to view users their groups, and the permissions of groups.
cChunk::Tick did an assertion in cCSLock, I used a cCSUnlock to fix it, but not sure if this is correct.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@194 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 16:47:26 +00:00
madmaxoft@gmail.com
51dc47bc70 More cFile cleanup; removed old format writing for block entities
git-svn-id: http://mc-server.googlecode.com/svn/trunk@193 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 16:01:45 +00:00
madmaxoft@gmail.com
7e743398a9 Initial cFile implementation (using stdio FILE) and test in cChunkMap
git-svn-id: http://mc-server.googlecode.com/svn/trunk@192 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 13:54:39 +00:00
faketruth
96da48401b Added missing #ifdef _DEBUG in cCriticalSection.cpp
Should compile in Release and on Linux now

git-svn-id: http://mc-server.googlecode.com/svn/trunk@191 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29 21:51:36 +00:00
madmaxoft@gmail.com
87a7c39dfc Old code begone! ChunkMap cleanup
git-svn-id: http://mc-server.googlecode.com/svn/trunk@189 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29 21:40:21 +00:00
madmaxoft@gmail.com
89afb970d8 VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29 19:28:19 +00:00
madmaxoft@gmail.com
e2ad02f50a ChunkGenerator: rewritten thread-locking using the new RAII CSLock class
git-svn-id: http://mc-server.googlecode.com/svn/trunk@186 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29 14:29:26 +00:00
faketruth
1b13cc9e43 Now also compiles in Linux
git-svn-id: http://mc-server.googlecode.com/svn/trunk@184 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-28 16:11:37 +00:00
faketruth
de29399987 Converted entire Core plugin including WebAdmin interface to new plugin method/system/thingy and sexyfied it.
Made some changes to WebAdmin to make the new plugins work
Old plugins still work like they're supposed to
Not all hooks have been programmed for the new plugins yet, this still needs to be done

git-svn-id: http://mc-server.googlecode.com/svn/trunk@182 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-27 23:47:32 +00:00
madmaxoft@gmail.com
86158a2d1d MSVC 2008 Express compatibility: Added the projects, modified sources to compile. Tested on MSVC 2008 Express and MSVC 2010 Express
git-svn-id: http://mc-server.googlecode.com/svn/trunk@179 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-27 14:04:28 +00:00
faketruth
4e8128b9d7 Converted all of the Core plugin to the new plugin structure, except for the WebAdmin part
git-svn-id: http://mc-server.googlecode.com/svn/trunk@175 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26 23:10:49 +00:00
faketruth
507d9d57a9 No longer hard coded Lua files in new plugin system
git-svn-id: http://mc-server.googlecode.com/svn/trunk@173 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26 22:21:23 +00:00
faketruth
4e34e438f1 Working on a new plugin design with Lua. While retaining backwards compatibility of course...
In this new design a plugin consists of a folder with Lua files, this should enable plugin developers to keep things separate and have more overview.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@172 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26 20:39:46 +00:00
faketruth
d8fa9c15d7 Probably fixed a deadlock! http://www.mc-server.org/support/index.php?do=details&task_id=147
git-svn-id: http://mc-server.googlecode.com/svn/trunk@171 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26 13:13:44 +00:00
faketruth
ce11c6b2bd Cactus towers can be destroyed by removing the bottom block
Added checks whether flowers/mushrooms/saplings can be placed on surface
Added checks for cactus to see if it's allowed to be placed
Fluids now wash away certain items (flower, sapling, cactus)


git-svn-id: http://mc-server.googlecode.com/svn/trunk@169 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-23 15:11:45 +00:00
faketruth
796a9e356e Fixed the  sign bug
git-svn-id: http://mc-server.googlecode.com/svn/trunk@168 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-22 21:22:54 +00:00
faketruth
738b1b3467 Improved Core's WebAmin interface a bit.
Can now kick players through WebAdmin
Can now enable/disable whitelist through WebAdmin
Tick speed is limited in a better way now, instead of always sleeping 50ms before each tick, it now add only sleeps additional time when the tick time was faster than 50ms. Server should run slightly faster because of this (and use more cpu%)


git-svn-id: http://mc-server.googlecode.com/svn/trunk@167 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-22 20:15:11 +00:00
faketruth
ec7aacebaa Bug FS#131 http://www.mc-server.org/support/index.php?do=details&task_id=131 should be fixed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@166 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-21 22:10:05 +00:00
faketruth
7b840aa5d8 MCServer is now compatible with Minecraft client 1.1 (as long as the client is not using any mods/plugins I think)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@165 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-20 17:39:16 +00:00
faketruth
50a7722242 Terrain generation is synchronous again, async generation has bugs.
Made some funky smart pointer things for chunks.
Fixed a bug where the client would override the player position on the server and back again, resulting in sending too many chunks to the client which it doesn't even need.
Fixed some compiler warnings in cPickup.cpp


git-svn-id: http://mc-server.googlecode.com/svn/trunk@164 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-19 18:12:39 +00:00
faketruth
f47c852186 Fixed crashing bug in cClientHandle::~cClientHandle
When there are players in the server, and a client connects as far as the handshake and then disconnects, the server crashed.
This is because there is no m_Player yet after the handshake, and the destructor uses m_Player without checking if it exists

git-svn-id: http://mc-server.googlecode.com/svn/trunk@163 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-02 19:03:19 +00:00
lapayo94@gmail.com
ac63775297 CreativeInventory Update
- Fixed various problems with the new creative inventory (Crafting, furnace, etc)
- Creative inventory will now be saved to disk, so you keep your creative inventory also for the next sessions

git-svn-id: http://mc-server.googlecode.com/svn/trunk@162 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01 18:45:28 +00:00
faketruth
01398f8424 Fixed the numchunks console command.
Added some form of reference counting to cChunk to make sure it's not referenced when deleting it.
Right now it's only needed due to the generation of chunks in a separate thread and adding it to the spread light list in cWorld

git-svn-id: http://mc-server.googlecode.com/svn/trunk@161 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01 16:20:52 +00:00
lapayo94@gmail.com
d7068b35a8 - implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)
(Separation is not perfect yet, because maybe there are some mayor changes needed :D)
- implemented CreativeInventoryAction (was mistakenly called CreateInventoryAction)
-> Fixed meta data for creative selected blocks
->->Slabs/Steps are now placed correctly
- slabs can now be build to a double slab
- fixed a bug in the inventory which put items with different meta values in the same slot

git-svn-id: http://mc-server.googlecode.com/svn/trunk@160 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01 04:55:17 +00:00
faketruth
4f176ee685 Chests, furnaces and dispensers face the correct way now.
http://mc-server.org/support/index.php?do=details&task_id=88

git-svn-id: http://mc-server.googlecode.com/svn/trunk@159 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-01 02:48:26 +00:00
faketruth
9af5ed43fd Made a couple of functions in cChunk inline, this should speed up several block operations on chunks
Players should not spawn in the ground anymore.
When an entity was added to cWorld twice (which shouldn't happen actually), the server would crash when the entity is destroyed, this should be fixed now.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@158 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-31 21:08:23 +00:00
lapayo94@gmail.com
9d3b2d1335 - Animals burn now when moving into lava or fire
- Monster health is now working properly

git-svn-id: http://mc-server.googlecode.com/svn/trunk@157 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 22:55:25 +00:00
mtilden@gmail.com
d7adbba59d - Initial food handling by cedeel
git-svn-id: http://mc-server.googlecode.com/svn/trunk@156 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 15:31:48 +00:00
mtilden@gmail.com
05ced6665b M$ BS...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@155 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 13:39:15 +00:00
mtilden@gmail.com
c4f4ae5c71 - Chests open and close on clients when opened/closed
- Beginnings of "Double Chest". All that's needed is detection when 2 chests get put next to each other, block other chests from then touching them on any side, load/save with the m_JoinedChest seeing each other and adding and making sure the left side is always the top rows.

I'm not sure exactly at this moment how to do all of the detection and saving/loading of the double chest stuff so if you've any ideas feel free to point out some areas in the server code or implement it yourself.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@154 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 13:16:23 +00:00
lapayo94@gmail.com
2ca40c819e - Pickups should now burn in fire
- The player no longer gets an empty bucket when in creative mode
- improved the simulators again (moved to std::list because this should be faster with so many objects) (But the water simulation still is very slow)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@153 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 02:44:21 +00:00
lapayo94@gmail.com
f5466a4cb3 - water slacks fire now
- Bug which caused lava to disappear is fixed

git-svn-id: http://mc-server.googlecode.com/svn/trunk@152 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 00:44:19 +00:00
lapayo94@gmail.com
c5fab7e7c8 - little performance improvement on the sand simulator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@151 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 21:35:43 +00:00
lapayo94@gmail.com
c6b4ee8c9f - implemented the fire simulation in native c++ (cFireSimulator)
- Changed the Durationsystem for Items. cPlayer::UseEquippedItem calls cItem::DamageItem this function damages the item if it has a duration. (needed the duration also in another place so this saves code ;))
- added some other burning blocks
- the mobtypes for the settings.ini which i must have forgotten in the last commit

git-svn-id: http://mc-server.googlecode.com/svn/trunk@150 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 21:00:35 +00:00
mtilden@gmail.com
143b8499e0 - Fixed too fast actions kick for real
git-svn-id: http://mc-server.googlecode.com/svn/trunk@149 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 16:09:36 +00:00
lapayo94@gmail.com
1454d237d1 Fixed some small memory leaks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@148 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 16:01:15 +00:00
mtilden@gmail.com
1116cec667 - Fixed ping displaying same for everyone, knew it was something I messed up with itr :(
git-svn-id: http://mc-server.googlecode.com/svn/trunk@147 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 15:40:14 +00:00
mtilden@gmail.com
a5d64ae0ca Fixed PLI end white, made random mistake late night when I couldn't remember how I did it before
Thanks to FakeTruth

git-svn-id: http://mc-server.googlecode.com/svn/trunk@146 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 15:21:38 +00:00
faketruth
9e4184ca8d This bug should be fixed now http://mc-server.org/support/index.php?do=details&task_id=112
git-svn-id: http://mc-server.googlecode.com/svn/trunk@145 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 14:52:31 +00:00
mtilden@gmail.com
85debf0860 Linux fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@144 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 11:39:05 +00:00
mtilden@gmail.com
8b726a53e7 - Didn't notice steak missing as well
Interesting to note, when you make a food item handled with health it gets rid of the eating animation, this seems backwards.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@143 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 11:32:43 +00:00
mtilden@gmail.com
03f86ad3fc - Added chicken to eating
- Increased max interactions again, seems to be fine now for even the fastest clickers.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@142 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 11:27:36 +00:00
lapayo94@gmail.com
e3be6b1a47 Little improvement to save some cpu time but it´s still very heavy cpu load
git-svn-id: http://mc-server.googlecode.com/svn/trunk@141 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 02:38:00 +00:00
lapayo94@gmail.com
1e9af56a67 - Implemented Drops from Burning animals
- added right monster health and attack strength
- refactored the Pawn/Monster/Player class a little bit
- changed some namings to fit the style

git-svn-id: http://mc-server.googlecode.com/svn/trunk@140 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-28 02:10:05 +00:00
faketruth
d57753cd68 Users file was pretty messed up with mixed unix and windows line endings. The ini failed to parse correctly under cygwin.
'Fixed' a 'bug' where MCServer would seemingly endlessly calculate lighting for an entire world (and then crash), when this entire world has 'wrong' lighting. This happens when running a converted map from Vanilla. Fixed this by only allowing a maximum of 50 chunks to recalculate their lighting per tick.
Fixed a small coding error in cChunkMap where it would check PakVersion twice, instead of also ChunkVersion.

DeNotch converter does not need the VS2010 runtime thingies anymore

git-svn-id: http://mc-server.googlecode.com/svn/trunk@138 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 22:57:33 +00:00
faketruth
105d69e27e Fixed a little error in cPacket_PlayerListItem.cpp
char* was casted to char, but you actually need to get the first index of the array.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@137 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 22:00:32 +00:00
mtilden@gmail.com
df33f6821c Vanity, just to set back to white after a short enough name for the ping image to not change color
git-svn-id: http://mc-server.googlecode.com/svn/trunk@136 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 19:01:00 +00:00
mtilden@gmail.com
ef47674753 I'll lower my frequency of commits.. 1000 default ends up sent more often than calc'd packets.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@135 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 18:43:13 +00:00
mtilden@gmail.com
b87cffc763 Oops, accidentally left debug print
git-svn-id: http://mc-server.googlecode.com/svn/trunk@134 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 18:39:53 +00:00
mtilden@gmail.com
59af89235b - Added basic ping handling.
Not sure what's up with the MC client, though. It doesn't seem to end up giving good results like the KA packet return is hanging and waiting for other things to process instead of being handled on its own to give a true result.

Feel free to update if there's any way to deliver truer results.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@133 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 18:39:06 +00:00
mtilden@gmail.com
417571424b Slightly cleaner block change interactions static in header
git-svn-id: http://mc-server.googlecode.com/svn/trunk@130 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 16:27:22 +00:00
admin@omencraft.com
35419380d8 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@128 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-27 02:18:20 +00:00
faketruth
0d8ecbeca1 Some kind of 'template' world generator that right now just generates an all dirt world. You can use this to test new algorithms
git-svn-id: http://mc-server.googlecode.com/svn/trunk@127 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 23:23:05 +00:00
faketruth
eb942797b8 Players can switch worlds on the fly with the command /gotoworld [worldName]. This uses the function cPlayer::MoveToWorld()
Changed isValidItem to IsValidItem in Core.lua

git-svn-id: http://mc-server.googlecode.com/svn/trunk@126 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 21:54:08 +00:00
lapayo94@gmail.com
9f77572fb0 - improved Simulator system
-> Manager handles all ticks -> advantage: Much easier to add new simulators, because you only have to register them in the manager

- moved sand and gravel simulation to a Simulator-class (cSandSimulator)

- Made Squid a little bit more funny and realistic, because it dies now when it´s not in water

-Escaping mobs run now faster than normal (They just walked away before :D)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@125 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 20:57:12 +00:00
lapayo94@gmail.com
92e0ba6645 - improved ClosestPlayerDetection (Really the closest now ;))
- renamed function because the old one wasn´t listing 
- improved some time vars so no move gets dropped when the server laggs for a few seconds


git-svn-id: http://mc-server.googlecode.com/svn/trunk@124 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 18:20:00 +00:00
faketruth
2a1d75ab09 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 now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@122 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 14:29:52 +00:00
mtilden@gmail.com
c7fa610be3 - Linux compatible fixes including updated makefile
- Mersenne Twister still says uint32 but it's now signed for compatibility with random uses needing negative values
 - Server seed is sent to clients, but needs to be able to be signed long long later on for authentic reasons
 - Protocol Version is required to match to ensure client compatibility, this should probably have a settings.ini check as well as store the value there

git-svn-id: http://mc-server.googlecode.com/svn/trunk@121 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 09:09:47 +00:00
mtilden@gmail.com
e2acb45d19 - Added timer to cPlayer PlayerListItem because sending the packets like minecraft does (every tick per player) is 20 pps per client to each client and was causing Kicks for having too high of a packet queue
git-svn-id: http://mc-server.googlecode.com/svn/trunk@120 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 04:06:29 +00:00
mtilden@gmail.com
f029b905d5 - Default Notchian Ping (static until ping implemented through keepalive send/receive)
- Player "left" message regardless of exit reason

git-svn-id: http://mc-server.googlecode.com/svn/trunk@119 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 03:05:31 +00:00
mtilden@gmail.com
0321819ce8 - 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'
git-svn-id: http://mc-server.googlecode.com/svn/trunk@118 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 02:46:53 +00:00
faketruth
537e1afcb1 Moved the actual world generation from cChunk.cpp to a more isolated file cWorldGenerator.cpp
New generators should inherit cWorldGenerator and implement their own generation algorithms

git-svn-id: http://mc-server.googlecode.com/svn/trunk@117 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 02:39:43 +00:00
mtilden@gmail.com
a85ea1c9ac - 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)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@116 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 02:35:49 +00:00
faketruth
c35db25269 Made some functions in cChunk and cNoise inline, this should significantly increase chunk generation speed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@115 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 02:13:40 +00:00
mtilden@gmail.com
bf838238e4 - Make Color was using 2 extra characters which took 2 characters off the 16 max (including color codes) for scoreboard display
- Added xC9 PlayerListItem packet and added code for player names to be added and removed from the scoreboard (need a catch-all for client disconnects: crashes, timeouts, etc)
 - Changed wid wording to a_WindowType

git-svn-id: http://mc-server.googlecode.com/svn/trunk@113 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-26 01:07:35 +00:00
lapayo94@gmail.com
e8f230f24e - Fixed Bug #99 -> Mobs no longer bother you in creative mode
- refactored many things in the Monster system

git-svn-id: http://mc-server.googlecode.com/svn/trunk@112 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 22:47:12 +00:00
lapayo94@gmail.com
adb4dbc904 - fixed the code from the last commit :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@111 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 20:23:30 +00:00
lapayo94@gmail.com
cf720c17e6 - Fixed a critical bug, which caused players to not getting spawned on the others client
- corrected newline in cMonsterConfig (VS did :D)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@110 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 19:34:31 +00:00
lapayo94@gmail.com
62abd8f29b - Implemented function to check item category
- (Cobble-)stone don´t drop item anymore if mined without pickaxe
- FluidSimulator no longer causes compiler warning
- Glowstone drops fixed

git-svn-id: http://mc-server.googlecode.com/svn/trunk@109 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 17:47:01 +00:00
lapayo94@gmail.com
d6953a7ea2 Refactored both simulators (water and lava) to make them more flexible and easier to modify
git-svn-id: http://mc-server.googlecode.com/svn/trunk@108 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 16:20:06 +00:00
lapayo94@gmail.com
62737fd163 Hold item is now dropped when inventory is closed
Thanks to mtilden for this ( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 )

Also the items in the 4 crafting slots are now dropped.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@107 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 14:03:01 +00:00
lapayo94@gmail.com
d0a7f9a57d Code improvements
Fixed authentication (Can be activated now)
Added MersenneTwister.h
Thanks to mtilden
( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 and http://forum.mc-server.org/showthread.php?tid=183&pid=1418#pid1418 )

git-svn-id: http://mc-server.googlecode.com/svn/trunk@106 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 13:44:22 +00:00
faketruth
81c73341b2 The missing file! cChunkGenerator.h/cpp
git-svn-id: http://mc-server.googlecode.com/svn/trunk@105 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 12:55:20 +00:00
lapayo94@gmail.com
f419ec2fe7 - improved and simplified the door system (shorter, clearer)
- Doors now drop a complete door & other part gets destroyed
- Build a function for pickup counts (cBlockToPickup::PickupCount) (Default is 1)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@104 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25 01:40:31 +00:00
faketruth
2892a844d4 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 :O
Chunks are now generated before the player is able to see them. This is done because after a chunks is done generating, some blocks might still need to be set (parts of trees from neighboring chunk), causing more bandwidth to be used (each changed block needs to be sent to clients again) and (fps) lagging the clients when changing a lot of blocks. Calculating ahead fixes these issues.

Separated the placing of foliage (trees and stuff) when generated chunks into a new function GenerateFoliage()
Cleaned up the VS2010 project, now using some VS2010 specific functions like dependencies on projects (no need for setting library dependencies manually). VS2010 project now compiles way faster in Release by using multi threading.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@103 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-24 23:34:30 +00:00
lapayo94@gmail.com
e45b01ba4a Very alpha water physic for pickups (The swim now)
but there are some problems (get stuck on some positions)
so someone might look at it because I have no idea how to make it better :D

git-svn-id: http://mc-server.googlecode.com/svn/trunk@102 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-24 01:36:15 +00:00
lapayo94@gmail.com
ad610e63ba Max. players and MOTD are now changeable in the settings.ini
Thanks to mtilden ( http://forum.mc-server.org/showthread.php?tid=183&pid=1381#pid1381 )

git-svn-id: http://mc-server.googlecode.com/svn/trunk@101 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-23 23:58:54 +00:00
faketruth
aa392170a2 Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking at
git-svn-id: http://mc-server.googlecode.com/svn/trunk@100 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-23 14:26:29 +00:00
lapayo94@gmail.com
24efa6f864 Digging leaves with shears now drops leaves
Falling Sand now notifies water around
Implemented Function to get the relative chunk position in the total position (cChunk::PositionToWorldPosition)
Pistons don´t drop water and lava items anymore when stopping water/lava
implemented Getter for lava and water simulator
IsBlockWater and IsBlockLava function in Defines.h




git-svn-id: http://mc-server.googlecode.com/svn/trunk@97 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-22 21:36:24 +00:00
lapayo94@gmail.com
e54373160b Fixes:
- Pickups fall through water now (Server-side they stayed in the water surface)
- Suppressed some warnings (int to short etc.)
- Water is now passable for cTracer

git-svn-id: http://mc-server.googlecode.com/svn/trunk@96 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-22 16:30:40 +00:00
lapayo94@gmail.com
0498a43d21 Missed a class in r94 ;) Sorry guys :D
git-svn-id: http://mc-server.googlecode.com/svn/trunk@95 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-21 21:05:18 +00:00
lapayo94@gmail.com
02f05f7496 - Crafting fixed in 1.0.0
- Server compatible with the weapons and equip again. (Some Packets were incompatible)
- fixed bucket bugs (not all)
- Fixed clients getting crashed by wrong Pickups
- fixed nearly all mob drops. (Check wheather they are burning is missing Big Grin)
- maybe some other things I can´t recall atm Big Grin

git-svn-id: http://mc-server.googlecode.com/svn/trunk@94 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-21 20:42:34 +00:00
admin@omencraft.com
3ea286fef8 Changed chunk generation so any surface sand with air underneath it will turn into sandstone to prevent most sand cave-ins due to odd cave placement.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@93 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-15 00:39:01 +00:00
admin@omencraft.com
458b3bf5e3 Put view distance back to 13. Didn't mean to change that.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@92 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-12 05:48:29 +00:00
admin@omencraft.com
750f9ab74f Found and fixed a bug not letting users place blocks in water or lava.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@91 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-11 00:21:52 +00:00
admin@omencraft.com
7528819117 Fixed logging in underground bug this time. A hack, but it works. :D
git-svn-id: http://mc-server.googlecode.com/svn/trunk@90 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 20:04:20 +00:00
admin@omencraft.com
993680a39e Can now set gamemode via lua.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@89 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 18:28:21 +00:00
admin@omencraft.com
9f3f60c666 Some more changes to redstone.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@88 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 17:03:35 +00:00
admin@omencraft.com
6027c3d0b8 Made block action sanity checks more robust, water buckets, lava buckets and empty buckets should all now work.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@87 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 16:30:14 +00:00
admin@omencraft.com
581165bb58 Fixed doors. I forgot to actually return proper Hex value. Started work on adding farmland, farming, and leaf decay support.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@86 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 03:35:46 +00:00
admin@omencraft.com
df7823280c 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@85 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-10 02:05:51 +00:00
admin@omencraft.com
b634310a2c Storms were WAY too frequent. I toned them down.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@84 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09 23:36:21 +00:00
admin@omencraft.com
3be48a2d5a Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@83 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09 23:24:51 +00:00
admin@omencraft.com
18b7563680 Added m_IP to player class and binding to get IP for LUA. (Probably should use m_pState)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@82 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09 22:17:30 +00:00
admin@omencraft.com
9e77db8e3d bugfix to redstone, it can climb walls again.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@81 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09 03:04:56 +00:00
admin@omencraft.com
744c0187ba Redstone clocks now work. even one clocks. torches don't update themselves when placed yet, but redstone wire updates the torch. Fixed a bug with piston animations.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@80 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-09 01:31:19 +00:00