1CYCMD(1) cyphesis CYCMD(1)
2
3
4
6 cycmd - cycmd game server process
7
9 cycmd [ --section:option=value ... ] [ command [ server ] ]
10
11
13 The cycmd program provides a commandline interface to a cyphesis
14 server.
15
17 Configuration options are divided up into named sections, which need to
18 be specified when modifying or overriding the options. In a config file
19 the name of a section is specified in square brackets at the beginning
20 of the section. On the command line the section is given at the begin‐
21 ning of the option specification, as shown in the synopsis above.
22
23 CLIENT OPTIONS
24 The following options used by cycmd are present in the client section
25 of the config file, and overriden by specifying the client section name
26 on the command line.
27
28 serverhost=hostname
29 Hostname of the server to connect to.
30
31 This setting provides the hostname of the system where cyphesis
32 is running that cycmd should try and connect to.
33
34 SERVER OPTIONS
35 The following options are present in the cyphesis section of the config
36 file, and overriden by specifying the cyphesis section name on the com‐
37 mand line. These options apply to the server, but are also required by
38 the client to ensure that the client can connect.
39
40 tcpport=6767
41 Network port for server TCP connections.
42
43 Specifies the port number to use when connecting to the server.
44
45 unixport="cyphesis.sock"
46 Local liston socket for Unix domain connections.
47
48 Specifies the filename to use to listen for local trusted client
49 connections.
50
52 add_agent [ type ]
53 Create an in-game agent.
54
55 Create an avatar or agent in the game to be used to manipulate
56 the world. By default an avatar of type "creator" is created,
57 and this is required for most operations. Avatars of other types
58 can be created, but have limited ability to edit the world.
59
60 cancel
61 Cancel the current admin task.
62
63 Various commands begin a background admin task in the client.
64 This command stops any currently running task.
65
66 connect hostname
67 Connect the server to a peer.
68
69 Try and establish a connection to a peer server.
70
71 creator_create type
72 Use agent to create an entity.
73
74 Use the in-game agent owned by this client to create an in-game
75 entity of any type.
76
77 delete id
78 Delete an entity from the server.
79
80 Delete the in-game entity with the given ID from the world.
81
82 dump [ filename ]
83 Write the contents of the world to an Atlas dump file.
84
85 An Atlas representation of every entity on the server is written
86 to a file using the XML codec.
87
88 get id
89 Examine any object on the server.
90
91 Get an object description from the server, and display its con‐
92 tents.
93
94 find_by_name name
95 Find an entity with the given name.
96
97 Search the world for an entity with the given name, and return
98 the first one found.
99
100 find_by_type type
101 Find an entity with the given type.
102
103 Search the world for an entity with the given type, and return
104 the first one found.
105
106 flush type
107 Flush entities from the server
108
109 Search the world for entities with the given type, and delete
110 them all.
111
112 This process does not work perfectly reliably, so may have to be
113 run multiple times to fully clear the server.
114
115 help Display online help.
116
117 Lists all the commands available, with a short description of
118 what each one does.
119
120 install type_id parent_id
121 Install a new type in the server.
122
123
124 look Return a view of the current server lobby.
125
126 Look at the current server lobby, where all users currently
127 logged in are represented. The view is returned and displayed.
128
129 logout [ account ]
130 Log user out of server.
131
132 monitor
133 Enable server monitoring.
134
135 Direct the server to report all in-game operations to the
136 client. A digest of each operation is displayed, including the
137 type, which entity the operation is from and which entity the
138 operation is to.
139
140 query entity_id
141 Synonym for "get" (deprecated).
142
143 reload type
144 Reload the script for a type.
145
146 Reload the Python script for a given type from the file on disk.
147
148 restore [ filename ]
149 Restore the contents of an Atlas dump file into the world.
150
151 Read entities from an Atlas XML codec dump file, and restore
152 them into the server. The most reliable use case for this is
153 with an empty server to restore a snapshot of the world taken at
154 an earlier time.
155
156 It is possible to restore a dump file into server which already
157 contains a world, but the following caveats apply:
158
159 If there are collisions between the ID space being used in the
160 existing world, and the ID space used in the dump file, the tool
161 will do its best to do the right thing, but the results are to
162 some extent undefined. If an entity with the same ID and type
163 exists in both spaces, only one will exist after the restore and
164 it will have some of the properties of both copies of that
165 entity.
166
167 stat Examine the current server status.
168
169 Get a description of the current server status, and display its
170 contents.
171
172 unmonitor
173 Disable server monitoring.
174
175 Direct the server to stop reporting all in-game operations to
176 the client.
177
179 The first example shows getting the current server status and checking
180 the lobby to see if any users are logged in.
181
182 cyphesis> stat
183 Info(
184 builddate: 11:32:45, Sep 27 2004
185 clients: 1
186 name: calcitration.ecs.soton.ac.uk
187 objtype: obj
188 parents: [ server ]
189 ruleset: mason
190 server: cyphesis
191 uptime: 1728.2
192 version: 0.3.2
193 )
194 cyphesis> look
195 Sight(
196 id: lobby
197 name: lobby
198 objtype: obj
199 parents: [ room ]
200 people: [ 1 ]
201 rooms: [ ]
202 )
203 cyphesis>
204
205
206 The first entity returned shows various information about the server,
207 including when it was built, the number of connected client, the cur‐
208 rent ruleset, and the server uptime. The second entity representing the
209 lobby shows that only one user is current logged in, and no chat rooms
210 have been created.
211
212 The second example shows how to install a new type.
213
214 cyphesis> get thing
215 Info(
216 children: [ feature character plant food stackable structure arm arrow axe barrel block_house board boat boundary bow campfire cleaver coin fire gallows house lumber pelvis ribcage shin skull stall sword thigh tower twobyfour wall weather ]
217 contains: [ ]
218 id: thing
219 loc:
220 name:
221 objtype: class
222 parents: [ game_entity ]
223 pos: [ 0 0 0 ]
224 stamp_contains: 0
225 velocity: [ 0 0 0 ]
226 )
227 cyphesis> install box thing
228 cyphesis>
229
230
231 The third example shows server monitoring being enable, followed by
232 information of a series of in-game operations. The flow of messages in
233 while monitoring the server can be large. In order to supress the flow,
234 the unmonitor command must be used.
235
236 cyphesis> monitor
237 cyphesis>
238 tick(from="900006",to="900006")
239 tick(from="900007",to="900007")
240 cyphesis>
241 tick(from="900008",to="900008")
242 cyphesis>
243 tick(from="899982",to="899982")
244 cyphesis>
245 tick(from="899356",to="899356")
246 cyphesis>
247 tick(from="899357",to="899357")
248 cyphesis>
249 tick(from="899358",to="899358")
250 cyphesis>
251 tick(from="899359",to="899359")
252 cyphesis>
253 tick(from="899360",to="899360")
254 cyphesis>
255 tick(from="899361",to="899361")
256 cyphesis>
257
258
260 Written by Alistair Riddoch.
261
263 Report bugs to <general@worldforge.org>.
264
266 Copyright 2004 Alistair Riddoch.
267
269 cyphesis(1), cyclient(1), cyphesis-tools(1)
270
271
272
273 18 November 2010 CYCMD(1)