#!/bin/sh # # settings/psyced version 4.0 # # $Id: psyced.settings,v 1.10 2007/05/08 00:52:01 lynx Exp $ # # LDMUD compilation settings for psyced, the LPC server and client # implementation of the protocol for synchronous conferencing. # Please execute this instead of ./configure before compilation. # # The latest version of this file is in the psyced repository and usually also # at http://www.psyced.org/dist/config/psyced.settings # The version in the LDMUD distribution may be slightly outdated. # # Documents and download on: http://www.psyced.org # Information about PSYC: http://www.psyc.eu # # the PSYC implementation and library is designed in a way that it should # easily co-host in a running LPMUD, it just needs a few patches to the # master object and #includes in simul_efun. # # how to multiplex InterMUD and PSYC on the same udp port: # PSYC UDP packets always start with ".\n". # # configure will strip this part from the script. cp $0 settings/psyced-current exec ./configure --prefix=/opt/psyced --bindir=/opt/psyced/bin --libdir=/opt/psyced/world --libexec=/opt/psyced/run --with-setting=psyced-current $* exit #-- PSYCLPC EXTENSIONS # compile json c library in, if available enable_use_json=yes # compile expat xml & xmpp parser in, if available enable_use_expat=no # compile iksemel parser in, if available enable_use_iksemel=no # enable this if you want use http://about.psyc.eu/psyclpc#Authlocal enable_use_authlocal=yes # requires procfs with readable /proc/net/tcp # # some kernel configurations show wrong port numbers however, # in that case the correlation from peer port to user id fails. # there is however no risk of error (the peer ports are unprivileged # whereas the 'wrong' ones are privileged ones. could be related to # iptables or some other port mapping magic). #-- FILE PATHES with_master_name=drivers/ldmud/master/master # unused really with_swap_file=log/psyced.swap #-- NETWORKING & DATA BASES # cool tool that does external name server resolution and more enable_erq=erq # the "sorry" message of the built-in ACL isn't flexible enough: # it cannot output a properly formatted HTTP or PSYC message # and why shouldn't this be done in LPC anyway? enable_access_control=no # zlib compression, really enable_use_mccp=yes # Enable support for TLS (Transport Layer Security). # # 'no': TLS support is not compiled it # 'gnu': TLS support using GnuTLS is compiled in if found. # 'ssl': TLS support using OpenSSL is compiled in if found. # 'yes': TLS support using either OpenSSL or GnuTLS is compiled in if found. # The configuration script looks first for OpenSSL, then GnuTLS. # If both are available, OpenSSL is used. # # gnutls does not offer features we need enable_use_tls=ssl # SQL storage not implemented. Maybe PSYC synchronization is good enough? # see http://about.psyc.eu/storage for info. enable_use_mysql=no enable_use_pgsql=no enable_use_sqlite=no # maximum permitted tcp connections with_max_players=900 # The maximum number of ports to listen for connections on. with_maxnumports=33 # size of the buffer for incoming data of each socket with_size_socket_buffer=32768 # The maximum number of simultaneous connect() calls with_max_net_connects=33 # how can i set all the other port numbers? # still using the historic dirty command line hack? with_portno=4404 # Maximum size of a socket send buffer. with_set_buffer_size_max=262144 # the PSYC port with_udp_port=4404 # Enable support for IPv6 (this should better be autodetected!!) #enable_use_ipv6=no # Enable the use of pthreads for background socket IO. enable_use_pthreads=no # If PThreads are used, this is the max amount of data held pending # for writing. If the amount is exceeded, the oldest data blocks # are discarded. # If 0, any amount of data is allowed. with_pthread_write_max_size=333333 #-- RUNTIME LIMITS # # currently we consider a psyced a friendly environment # where no coders will abuse cpu time and other limits # you may want to change this if you have many room coders # you can lower this value for better debugging with_max_cost=9999999 #with_catch_reserved_cost=2000 #with_master_reserved_cost=512 enable_dynamic_costs=no # Maximum function call depth for normal program execution #with_max_user_trace=60 # Maximum function call depth during error handling. # It must be bigger than MAX_USER_TRACE (check at compile time). #with_max_trace=65 # Maximum number of bits in a bit string. # The limit is more based on considerations of speed than memory consumption. #with_max_bits=6144 # Allowed number of ed commands per backend cycle (for faster file upload). #with_allowed_ed_cmds=20 # disabled "mud" limits with_max_array_size=0 with_max_mapping_size=0 with_max_mapping_keys=0 with_read_file_max_size=0 with_max_byte_transfer=0 with_max_callouts=0 # new, was =100000 with_pthread_write_max_size=0 # Compiler stack size. This value affects the complexity the compiler can # parse. #with_compiler_stack_size=400 # Maximum number of local variables #with_max_local=50 # Maximum size of an expanded preprocessor definition. #with_defmax=65000 #-- MEMORY ALLOCATION # slabmalloc seems to interact badly with net/jabber #with_malloc=sysmalloc # but other mallocs don't even compile & run enable_malloc_sbrk=yes enable_malloc_check=no enable_malloc_trace=no enable_malloc_sbrk_trace=no #enable_malloc_lpc_trace=no, MALLOC_slaballoc # disabled, sort of with_reserved_user_size=100000 # hash table sizes. we have many chat strings (like lastlogs), but few objects # (max: 65536) with_htable_size=32768 with_otable_size=256 # Size of the hash table for defines, reserved words, identifiers, and # efun names. This should be several times smaller than HTABLE_SIZE. #with_itable_size=256 # Size of the apply cache, expressed in the bitsize of its indices. # The number of entries is 2**cache_bits. #with_apply_cache_bits=12 # Select whether compiled regular expressions shall be cached, and # how big the cache shall be (max: 65536). enable_rxcache_table=yes with_rxcache_table=4096 #-- TIMER MECHANISMS # short resets, not strictly necessary but useful with_time_to_reset=1000 with_time_to_clean_up=9000 #with_time_to_swap=1500 #with_time_to_swap_variables=2500 with_time_to_swap=0 with_time_to_swap_variables=0 #-- MUD FEATURES # should work in "native" too, after a tweak or two # however, psyced expects create() to get called instead of reset(0) enable_compat_mode=yes enable_strict_euids=no # The Input escape character. # If this character is typed as first on the line, the normal input_to()s # are bypassed. #with_input_escape="!" # Define ALLOW_FILENAME_SPACES if the driver should accept space characters # in filenames. If it is not defined, a hardcoded test for space characters # is activated. enable_filename_spaces=yes with_wizlist_file=no enable_use_set_light=no enable_use_set_is_wizard=no #-- LANGUAGE enable_use_parse_command=no enable_use_process_string=no enable_lpc_nosave=yes # if turned to yes this causes errors # in textdb and room history: enable_share_variables=no # keep .o files crossplatform enable_use_system_crypt=no # Define this to enable LPC structs. enable_use_structs=no # new inline closure and function syntax, see doc/LPC/inline-closures # ... We don't want to use them as yet, but current # 3.3.5xx doesn't compile properly without! :-( enable_use_new_inlines=yes enable_use_alists=no # we use it for system shout enable_lpc_array_calls=yes # only enables the ancient transfer() efun we don't use enable_use_deprecated=no # Enable PCRE instead of traditional regexps # 'no': use traditional regexps by default # 'no-builtin': use traditional regexps by default, or the builtin PCRE # package if PCRE is requested # 'builtin': use PCRE package by default, using the builtin package # 'yes': use the system's PCRE package if available, otherwise the # builtin package enable_use_pcre=yes #-- COMPILATION # The optimization level in the generated Makefile # Settings: no, low, med, high with_optimize=med #-- DEBUGGING # Enable basic run time sanity checks. This will use more time # and space, but nevertheless you are strongly encouraged to keep # it defined. enable_debug=yes # LPC compiler debug #enable_yydebug=no # Disable inlining. Use this to debug obscure crashes, or for # speed tests. #enable_no_inlines=no # Activate debug prints in the telnet machine (lots of output). #enable_debug_telnet=no # Activate allocation debug prints in the malloc module (lots of output). # Supported by: MALLOC_smalloc, MALLOC_slaballoc #enable_debug_malloc_allocs=no # The DEBUG level for the ERQ daemon: # 0 : no debug output # 1 : standard debug output # 2 : verbose debug output with_erq_debug=0 # If TRACE_CODE is enable, the driver keeps a log of TOTAL_TRACE_LENGTH # most recently execute bytecode instructions. enable_trace_code=yes with_total_trace_length=1024 # Enable these for runtime statistics: # COMM_STAT: number and size of outgoing packets # APPLY_CACHE_STAT: number of hits and misses in the apply cache enable_comm_stat=yes enable_apply_cache_stat=no # Enable usage statistics of VM instructions. enable_opcprof=no enable_verbose_opcprof=no # Lars' hardcore debug features #enable_check_object_stat=no #enable_check_mapping_total=no #enable_check_object_ref=no #enable_check_object_gc_ref=no #enable_dump_gc_refs=no