Server Options #83
Aliases: Server Options
2 verbs · 21 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
help_msg | this none this | rxd | #83 | 20 |
init_for_core | this none this | rxd | #83 | 5 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
protect_chparent | #83 | rc | #2 | 1 |
protect_add_verb | #83 | rc | #2 | 1 |
protect_add_property | #83 | rc | #2 | 1 |
protect_recycle | #83 | rc | #2 | 1 |
permit_writable_verbs | #83 | rc | #2 | 0 |
protect_set_verb_info | #83 | rc | #2 | 1 |
queued_task_limit | #83 | rc | #2 | 100 |
help_msg | #83 | rc | #2 | list of 32{"\t\tServer Options <$server_options>", " --------------------------------", "", "messages: 'boot_msg', 'connect_msg', 'create_msg', 'recycle_msg', 'redirect_from_msg', 'redirect_to_msg', and 'timeout_msg'.", "A number of the messages printed to a connection by the server under various circumstances can now be customized or eliminated from within the DB. In each case, a property on $server_options is checked at the time the message would be printed. If the property does not exist, the standard message is printed. If the property exists and its value is not a string, then no message is printed at all. Otherwise, the string is printed in place of the standard message. The following list covers all of the newly customizable messages, showing for each the name of the relevant property on $server_options, the default/standard message, and the circumstances under which the message is printed:", "'boot_msg'\t\t\"*** Disconnected ***\"", "The function boot_player() was called on this connection.", "'connect_msg'\t\t\"*** Connected ***\"", "The user object that just logged in on this connection existed before #0:do_login_command() was called.", "'create_msg'\t\t\"*** Created ***\"", "The user object that just logged in on this connection did not exist before #0:do_login_command() was called.", "'recycle_msg'\t\t\"*** Recycled ***\"", "The logged-in user of this connection has been recycled.", "'redirect_from_msg'\t\"*** Redirecting connection to new port ***\"", "The logged-in user of this connection has just logged in on some other connection.", "'redirect_to_msg'\t\"*** Redirecting old connection to this port ***\"", "The user who just logged in on this connection was already logged in on some other connection.", "'timeout_msg'\t\t\"*** Timed-out waiting for login. ***\"", "This in-bound network connection was idle and un-logged-in for at least CONNECT_TIMEOUT seconds (as defined in options.h).", "", "", "Some properties on $server_options can change the server behavior:", "", "'bg_seconds', 'bg_ticks', 'fg_seconds', and 'fg_ticks'.", "If those properties exist and are numbers, the server use them instead of the constants DEFAULT_BG_SECONDS, DEFAULT_BG_TICKS, DEFAULT_FG_SECONDS and DEFAULT_FG_TICKS (respectively) defined at compile time in \"options.h\"; they are looked up anew every time a task begins or resumes execution. Those define ticks (basic operations)/real-time seconds any task is allowed to use without suspending. 'fg' constants/properties are used only for 'foreground' tasks (those started by either player input or the server's initiative and that have never suspended); the 'bg' constants/properties are used only for 'background' tasks (forked tasks and those of any kind that have suspended).", "", "'max_stack_depth' This allow to change in-db the the maximum verb-call depth. Originillay the maximum verb-call depth is defined at compile time by the DEFAULT_MAX_STACK_DEPTH constant in \"options.h\". The maximum stack depth for any task is set at the time that task is created and cannot be changed thereafter. This implies that suspended tasks, even after being saved in and restored from the DB, are not affected by later changes to $server_options.max_stack_depth. ", "", "'queued_task_limit' if this property exist and its value is non-negative, then it is used as the maximum of tasks a verb-owner (more exactly the user's perms the verb run with) can queue (through fork() and suspend()). This setting is overriden if the user has a 'queued_task_limit' property and if its value is non-negative. E_QUOTA is raised of either forking or suspending when the user is over quota for tasks.", "", "'protect_...' On every call to a built-in function 'foo', if the property $server_options.protect_foo exists and is true, and the programmer is not a wizard, then the server checks for the existence of #0:bf_<fuction> and calls that. If it doesn't exist then E_PERM is raised, i.e. the built-in function is made wiz-only.", " --------------------------------"} |
support_numeric_verbname_strings | #83 | r | #36 | 0 |
connect_msg | #83 | rc | #2 | "*** Connected ***" |
fg_seconds | #83 | rc | #2 | 9 |
bg_seconds | #83 | rc | #2 | 9 |
bg_ticks | #83 | rc | #2 | 36000 |
fg_ticks | #83 | rc | #2 | 36000 |
announce_checkpoint | #83 | rc | #2 | 1 |
is_mac | #83 | rc | #2 | 0 |
key | #1 | c | #2 | 0 |
aliases | #1 | rc | #2 | {"Server Options"} |
description | #1 | rc | #2 | <clear> |
object_size | #1 | r | #36 | {7494, -1090650497} |
html | #1 | rc | #2 | <clear> |
Ancestry
Ancestors (nearest first): #1 Root Class
Children: none
Call graph
Source
help_msg
Referenced by
none
Source
1output = {"On $server_options, the following settings have been established by the wizards:", ""}; 2wizonly = {}; 3etc = {}; 4mentioned = {}; 5for x in (setremove(properties(this), "help_msg")) 6if (index(x, "protect_") == 1) 7mentioned = {@mentioned, x[9..$]}; 8wizonly = {@wizonly, tostr(x[9..$], "() is ", this.(x) ? "" | "not ", "wizonly.")}; 9else 10etc = {@etc, tostr("$server_options.", x, " = ", $string_utils:print(this.(x)))}; 11endif 12endfor 13if ("set_verb_code" in wizonly) 14wizonly = {@wizonly, "", "Note: since the 'set_verb_code' built-in function is wiz-only, then the '.program' built-in command is wiz-only too."}; 15endif 16if (bf = $set_utils:intersection(verbs(#0), mentioned)) 17bf = $list_utils:sort(bf); 18etc = {@etc, "", "In your code, #0:(built-in)(@args) should be called rather than built-in(@args) when you would use one of the following built-in functions:", $string_utils:english_list(bf) + ".", ((("Example: #0:" + bf[1]) + "(@args) should be used instead of ") + bf[1]) + "(@args)"}; 19endif 20return {@this.help_msg, @output, @wizonly, "", @etc};
init_for_core
Referenced by
none
Source
1if (!caller_perms().wizard) 2raise(E_PERM); 3endif 4this.support_numeric_verbname_strings = 0; 5`this.is_mac = 0 ! E_PROPNF => "removed"';