PretendYoureXyzzy/build.properties.example

150 lines
6.0 KiB
Plaintext

pyx.cookie_domain=.localhost
pyx.max_users=100
pyx.max_games=25
pyx.include_inactive_cardsets=false
pyx.broadcast_connects_and_disconnects=true
pyx.global_chat_enabled=true
pyx.game_chat_enabled=true
# allow fill-in-the-blank cards at all. Limits are set via constants in GameOptions.
pyx.allow_blank_cards=true
# allow identification codes to be used without HTTPS
pyx.insecure_id_allowed=true
# set this to some secure random value, and never change it, unless you want to break all codes
pyx.id_code_salt=
# comma-separated listed of IP addresses (v4 or v6) from which users are considered admins.
# IPv6 addresses must be fully spelt out without omitting groups of 0s with ::
pyx.admin_addrs=127.0.0.1,0:0:0:0:0:0:0:1
# comma-separated list of strings banned from appearing in nicks.
pyx.banned_nicks=xyzzy
# The name of a class that implements net.socialgamer.cah.util.ChatFilter.ShadowBannedStringProvider
# which will then be called to get the shadowbanned strings.
# Ideally we'd just have the list of strings here, but providing unicode characters directly gets
# mangled during the build process, and for some reason unicode escapes were not being loaded
# properly at runtime.
# If this is blank, it is ignored and no strings will cause such filtering to occur.
pyx.shadowban_strings_provider=
# Settings for global chat protection. Some of these do not apply to game chats.
# Ratio of 'basic' characters to length of message. Basic characters are defined by
# Character.isJavaIdentifierPart, which stipulates:
# -it is a letter
# -it is a currency symbol (such as '$')
# -it is a connecting punctuation character (such as '_')
# -it is a digit
# -it is a numeric letter (such as a Roman numeral character)
# -it is a combining mark
# -it is a non-spacing mark
# -isIdentifierIgnorable(codePoint) returns true for the character
pyx.global.basic_ratio=.5
# A message must have at least this many characters for that ratio to apply.
pyx.global.basic_min_len=10
# Message longer than min_len characters cannot have more than ratio of CAPS CHARACTERS
pyx.global.capslock_min_len=50
pyx.global.capslock_ratio=.5
# messages longer than min_len characters require at least min_count spaces between words
pyx.global.spaces_min_len=50
pyx.global.spaces_min_count=4
# this many messages to global chat in that many seconds is considered chatting too fast.
pyx.global.flood_count=3
# seconds
pyx.global.flood_time=25
# Messages with more than repeated_words_min_count words must have at least
# repeated_words_unique_ratio unique words in them.
pyx.global.repeated_words_min_count=10
pyx.global.repeated_words_unique_ratio=.5
# Settings for game chat protection. If it isn't listed here, it isn't supported.
# same but for game chats
pyx.game.flood_count=5
# seconds
pyx.game.flood_time=30
# Game options
pyx.game.min_score_limit=4
pyx.game.default_score_limit=8
pyx.game.max_score_limit=69
pyx.game.min_player_limit=3
pyx.game.default_player_limit=10
pyx.game.max_player_limit=20
pyx.game.min_spectator_limit=0
pyx.game.default_spectator_limit=10
pyx.game.max_spectator_limit=20
pyx.game.min_blank_card_limit=0
pyx.game.default_blank_card_limit=0
pyx.game.max_blank_card_limit=30
# for production use, use postgres
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
#hibernate.driver_class=org.postgresql.Driver
#hibernate.url=jdbc:postgresql://localhost/pyx
# for local use, you can also use sqlite
hibernate.dialect=net.socialgamer.cah.hibernate.SqliteDialect
hibernate.driver_class=org.sqlite.JDBC
hibernate.url=jdbc:sqlite:pyx.sqlite
# these likely need specified even with sqlite, even though they don't matter
hibernate.username=pyx
hibernate.password=CorrectHorseBatteryStaple
# debugging information
hibernate.sql.show=false
hibernate.sql.format=false
# second-level hibernate cache.
# vastly reduces database load at expense of data potentially being stale.
# use an in-memory cache provider. this is not suitable for long-term use, however I am using it for
# my servers for the time being -- better than nothing
#hibernate.cache.use_second_level_cache=true
#hibernate.cache.use_query_cache=true
#hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
# to turn it off, use these settings instead. you will hit the db a lot more often.
hibernate.cache.use_second_level_cache=false
hibernate.cache.use_query_cache=false
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
# If the server should send replay IDs to clients after certain events, and if the client should
# display a permalink to them. You must be using the KafkaMetrics implementation, and have
# pyx-metrics-processor running somewhere to put the data into a database, and have
# pyx-metrics-viewer running somewhere connected to that database. The URL to the viewer is provided
# below. If you don't know what any of that is, you certainly don't have it running, so leave these
# set to false.
pyx.metrics.game.enabled=false
pyx.metrics.round.enabled=false
pyx.metrics.session.enabled=false
pyx.metrics.user.enabled=false
# Format string to the URL to view previous gameplay. Must contain exactly one %s which will be
# replaced with the event's ID.
pyx.metrics.game.url_format=http://localhost:4080/game/%s
pyx.metrics.round.url_format=http://localhost:4080/round/%s
pyx.metrics.session.url_format=http://localhost:4080/session/%s
pyx.metrics.user.url_format=http://localhost:4080/user/%s
# Metrics logger implementation.
pyx.metrics.impl=net.socialgamer.cah.metrics.NoOpMetrics
# for kafka metrics
kafka.host=kafka-host:9092
kafka.topic=pyx-metrics
# if this is false, the rest don't matter
kafka.ssl=false
kafka.truststore.path=
kafka.truststore.password=
# if this is false, the rest don't matter
kafka.ssl.usekey=false
kafka.keystore.path=
kafka.keystore.password=
kafka.key.password=
# only SCRAM-SHA-512 supported; if this is false, the rest don't matter
# must be used with ssl, does not need client key
kafka.sasl=false
kafka.sasl.username=
kafka.sasl.password=
# GeoIP database for analytics. If unset, will not be used.
# Only used if the above is not NoOpMetrics.
# See README.md for instructions.
geoip.db=