2.61
update copyright
implemented drop item limit and fixed small performance problem in is_in_shop()
update copyrights and other minor stuff to deliantra
- improve dynbuf implementation further - save now saves shstrs longer than HUGE_BUF, lets fix any brokenness remaining in the server... - converted most describe_*-functions to dynbuf_text, making them likely faster (or maybe slower), while removing any hardcoded length limit. - memory allocated for static dynbuf's is not being returned ever (at least not the initial chunk, maybe fix this?) - implement framework for predeclared const shstrs for comparison purposes (shstrinc.h). - enabled and enforced new material code. - implement hack to clean up book titles. - increases HUGE_BUF to 10240, to be similar to mac network packet size.
- upgrade crossfire trt to the GPL version 3 (hopefully correctly). - add a single file covered by the GNU Affero General Public License (which is not yet released, so I used the current draft, which is legally a bit wavy, but its likely better than nothing as it expresses direct intent by the authors, and we can upgrade as soon as it has been released). * this should ensure availability of source code for the server at least and hopefully also archetypes and maps even when modified versions are not being distributed, in accordance of section 13 of the agplv3.
- introduce global NOW variable storing current tick time. - force some packet send at least every 2 seconds, forcing an ack reply. - timeout connections on ack delay exclusively, by default disconnect after 8 seconds (allowing for at least 5.5s of network hiccups). (linux only, should port to bsds). - nuke ericserver stats code. - reduce number of syscalls (less gettimeofday, only get tcp_info about once/second). - get rid of coroapi.time () in favour of now ().
- update copyrights in .h files, where applicable - rename preprocess to genkeywords
remove superfluous/broken settings and related code - COZY_SERVER: enabled most msall adjustments, changed digestion formula to the original one, party member treament w.r.t. pets enforced. - PROHIBIT_PLAYERKILL: default - real_wiz: removed and enforced - create_home_portals: removed and enforced - casting_time: removed and forced to be off (was crashing anyways) - was_wiz flag removed and treated as off usually unless it was used in place of flag_wiz. - do not save or restore wiz, wizcast and wizpass flags.
revamp loggin. have a new log flag logBacktrace that logs the message and prepares a backtrace in the background, spewing it into the log at a later time. this is useful to shed some light on otherwise completely useless log messages such as: 2007-04-27 19:48:48.142 Calling random_roll with min=1 max=0 which could just as well not be there as we will never find out who is doing this to puny poor random_roll.
clean up makefiles, add dummy pod.pm
changed MAP_CLIENT_[XY] so that los doesn't freez for weird reasons.
ยต-opt, but the effects might be visible macroscopically
- remove google sparsehash dependency again, its actually slower than gcc's current std::tr1::unordered_hash. - remove hardcoded archtable code - the archetypes table is now no longer limited by an hardcoded constant but can grow dynamically at runtime. - removed some cruft
comments
re-bless in case extensions have been reloaded
added some copyrights
be nicer to clients on shutdown and crashes
add some robustness checks, add map find/load locking
different interface design for c++/perl map handling, some random map framework
minor fixes, apartment hopping seems to work now
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
the big rename
- preliminary check in, stuff is rudimentarily working - moved most of the player creation process into a perl coroutine - changed internal design of player management to not reuse and morph the object in funny ways. should be safer and much nicer to handle. - got rid of some annoying hacks, such as clear() (TODO: get rid of player_pod and other stuff now unnecessary?)
- remove recycle_tmp_maps setting (hardwired to true) - replace object->flags by std::bitset, seems to be way more efficient, for some unexplainable and not looked-into reason. its way cleaner, too...
I goofed.
more slight copyright adjustments
- write() is now independent of server ticks and will be done immediately - get rid of CORK hack, it is no longer necessary
- medium decruftification - medium cleanups - make settings accessible to perl using cf::settings->mutator (completely untested)
removed #ifn?def WIN32 from all files
double once more - stopid memory management does not scale
indent
Changes... - alternative shstr representation, saves code - use glibs splice memory allocator (seems slower) - use simpler memory/lifetime management for objects, no recycling
tune for the now upgraded server
some experimental tuning
Adding setting to allow for portals in apartments and other personal maps.
more users, more maps
further reduction
63x63 makes the server use 100% cpu and causes bigface bugs
an experiment in server stability: increase mapsize to 63x63 max and wait for the crashes
Introduce PROHIBIT_PLAYERKILLING that make sit impossible to pk outside the battleground.
*** empty log message ***
UPSTREAM merge from 15.03.2006
*** empty log message ***
increase archtable hash size
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
initial cfperl/cf.schmorp.de import
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.