forked from quozl/netrek-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PROJECTS
291 lines (204 loc) · 11.2 KB
/
PROJECTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
INL, way for captains to choose which players on queue should enter.
$Id: PROJECTS,v 1.10 2006/05/06 12:17:29 quozl Exp $
List of things to do in the future
- GGZ Gaming Zone integration.
- convert stored data to YAML.
- registration, avoid sending SP_PSTATUS for newly logged in
slots until after successful authentication. Prevents
attack via username. Prevents pre-registration attacks.
- registration, avoid placing ship in game until successful
client verification.
- RESETRACE, unrepresented race planet logic, initial state
all planets neutral, with START_ARMIES armies, on arrival of
first member of a race, their space planets are changed from
neutral to race ownership with START_ARMIES, on departure of
last race member, planets outside the space are released to
either neutral with zero armies or the owning race of the
space, and planets inside the space are changed to neutral.
This could also be gradual.
But, if everyone on a losing team leaves, and then comes
back, their planets will have been restored to them. So
need a sticky ownership and a current ownership? Or an
owned by race bit mask for each planet.
- strip spaces before parsing robot commands, reported by KaraokeBar,
Australia, 2007-05-15.
- show damage of other ships, for the fish and oyster mode,
but also has use-cases for newbie mode, for robots, and for
friendly ships in a normal game, according to configuration.
SCAN ... if 0 does not send any information. Overrides all
other SCAN prefix options below. Default off.
SCAN_AUTO_TACTICAL ... if 1 provides automatic scan for
every ship in tactical as the data changes. Expected on for
newbie servers. Default on.
SCAN_AUTO_GALACTIC ... if 1 provides automatic scan for
every ship not on tactical as the data changes. Default
off.
SCAN_FRIENDLY ... if 1 sends information about enemy ships,
according to war, peace, hostility settings. Expected to be
turned on by illuminated server administrators. Default on.
SCAN_HOSTILE ... if 1 sends information about enemy ships,
according to war, peace, hostility settings. Default on.
SCAN_ROBOTS ... if 1 sends information about robot ships,
intended for educational use. Expected to be turned on by
illuminated server administrators. Default on.
SCAN_OUT_OF_TOURN_ONLY ... if 1 sends information only if
status->tourn is false. Default on.
- scenario game, team A: Starts with 3/4 of the players and 20
planets, Team B: Starts with 1/4 of the players and 5
planets but when they kill a player of team A it switches
team to team B. of course the starting distributing might
have to be adjusted. [credit wc2z on #netrek]
- scenario game, entire galaxy starts off as neutral, every
player starts with 1 kill and 2 armies. Most planets after
20 minutes wins. Option only 5 lives. Option respawn
positioning would be interesting to balance. [credit Jerub
on #netrek]
- clean up PROJECTS
[added: 2007/02/22 by karthik, assigned: NONE]
- fix blank motd for no-entry-permitted INL guests on some clients
[added: 2007/02/22 by karthik, assigned: karthik]
- update clue check with new questions
[added: 2007/02/22 by karthik, assigned: karthik]
- improve behavior during INL pauses: make quit, join, and rejoin
work properly (this will let TRADE work properly paused as well)
[added: 2007/02/22 by karthik, assigned: karthik]
- selective advertising of INL server, perhaps only if both teams
are captained to prevent meta-suckage effect after games end
[added: 2007/02/22 by karthik, assigned: karthik]
- fix problem with clients getting very slow updates of player stats
in many cases during t-mode
[added: 2007/02/22 by karthik, assigned: NONE]
* PROJECTS entries prior to 2007/02/22:
- test scripting, a command line server robot that does
nothing by itself, use tools to set position, direction,
speed, and then evaluate resultant position after n updates.
- factorise message insertion, and maintenance of mc_current,
as it is distributed all over the code.
- list connection failure scenarios and response by server,
so that we can reduce jammed slots.
- use response time on metaserver solicitation packet as
indicator of lag to the server. Client coding required.
- install-minimal, dist-minimal targets, to make ntserv &
include only?
- config.h.in settings to move to configure --enable-feature
options, so that a separate config.h.in does not need to be
maintained by server administrators.
- banned login for client with tryudp on seems to begin udp
negotiation, making it hard for the player to see the cause
of hang.
- banned login can still tie up a slot for as long as it takes
for it to time out or the player to hit QUIT.
(impact reduced by BAN_NOCONNECT)
- perm and temp bans in netrekd, have it access shmem and
detach.
- queue dump, once a sufficient queue has built, for each of
the queued players close the shared memory section for one
game and open a new one. Forward link from queue to next
section.
- vote per IP address only, not per slot
- prevent eject in initial two-minutes of ship time, if ship active,
- server generated screen shot of final frame of genocide, for
use in the blog entry,
INL server specific feed, containing game results, summary,
ltd stats by player.
Metaserver specific feed ... new servers listed, delistings,
weekly summary of query counts with history.
- tools/update.c sa_sigaction not present on NetBSD. [Hietbrink]
- add lag statistics to LTD stats. [Zach]
- tail waggle effect, necessary?
[work done to fix, by quozl ... in test on continuum]
- docs/tools.doc and tools/README say that trimscores argument
is a niceness value, but it is actually a harshness value.
usage() in trimscores.c also doesn't match.
- end_tourney.pl, replace the final score indicator with more
meaningful information. For example, the final planet count
and final continuous score as printed at the end of the INL log.
From: David Swasey <[email protected]>, 03 Apr 2002 16:56:58 -0500
- minor playing a man down fix, if t-mode and no steering or
speed changes for ten minutes, free slot.
- vary observer update rate down when not in use, use lock on
player or planet event to increase back.
[perhaps a new sysdef option for UPS for observers?]
- configure checks for gmp more than once, it should check only
once. Perhaps it is configure for res-rsa duplicating effort?
- make in keycomp/ (and others) use object modules from ntserv,
and so a parallel make fails on a multi-processor box.
- implement automake
- web page interface to INL server, including privileged
functions such as starting, stopping, or restarting the
server, and non-privileged functions such as (a)
preconfiguring defaults for the next INL game, including
team names and game time, (b) list of recent games, latest
first, with team names and final scores, (c) delivery of
cambot recording within web browser, (d) feedback to server
god. [Cameron]
- send player IPs to metaserver for statistics generation [Uram]
- include server in spiffy download package [Nowakowski]
(mactrek does this, 2006-12)
- there is no way to tell the difference between a busted client and
the player simply walking off.
- revisit syntax of metaservers file to aid understanding,
- compile with -Wall and fix the problems.
[yet to do: crypt(3), sigsetmask(2), keyman, keycomp, & xsg]
- observers, allow them to have a ship of their own that is ineffective
and invisible to others.
- pledit should be able to edit entries in place online.
- god's text client, displays messages to god and all, and allows
entry of replies from god, showgalaxy with more messages visible.
- From Dave Swasey: Writes to ERRORS should be timestamped. At least
timestamp daemon startup and death (exitDaemon, etc) messages.
Timestamps would have helped me determine which messages in ERRORS
matter.
- mark's changes, if p_y or p_x = 100000, ship oscillates
[mark hasn't come back to me on that, it awaits him]
- accumulate byte counters server wide for bandwidth accounting.
- all the code in the robots/ directory really need some
serious cleanup. the whole thing is a mess.
- slots that timeout during login or outfit (resurrect) should be moved
back onto the wait queue (at end or start?) and their slot given to
the current head of queue player. May require client changes.
[ref findslot() in cow, c/- carlos - quozl]
- Observer system is screwed up. Needs major re-write. Items
of note:
Observer state is not consistent. Observer state is
held in p_status, which is overloaded with death,
life, free, robot states. Every once in a while,
p_status gets assigned something other than POBSERV.
stats collection drop-outs for observers, free slots
and robots not consistent. Stats for observers and
robots and free slots should not be collected, but for
some cases they are.
save() is still called for observers. it shouldn't
multiple observer state variables. ntserv keeps a
global Observer. p_status in shmem is the other.
Propose removing POBSERV from p_status and Observer ntserv
global variable ad add p_type to player struct. Avoids
overloading a variable. Example states could be PTPLAYER,
PTOBSERVER, PTROBOT and PTPRACTICE. Whenever a slot changes
modes, save the slot (if appropriate) and re-read stats from
.players anew as if a fresh login occurred but without the
slot assignment (which would require a client upgrade).
Cleaning up the observer code is a prerequisite for
obs<->player switching and non-contiguous INL slot PROJECT
entries. First crack at it assigned to Carlos V.
INL robot issues following testing with Tom Holub
- port 2592 "sorry you can't play now" message needs to be nicer [low]
[perhaps make them appear to be on an infinite queue and give them
a motd that explains the situation]
- make GAMETIME response two lines if team name too long [low]
- observer can change teams?
- force known team name for REGISTER
- INL robot entry voted in from pickup, do not do odds/evens swapping,
keep old teams if possible, the league does not need 0-7
pre-allocation of slots to teams,
INL robot problems reported by d4sand,
- no RESERVE command present,
- robot did not see genocide, (fix daemon to not reset galaxy
on a genocide or conquer), (possible fix, Villalpando 1999-jun)
- could not rejoin after genocide/conquer, (fix daemon to use
non-final why-dead flag), (possible fix, Villalpando 1999-jun)
INL observations by [email protected]
- need a captain command to bring an obs in as a player, and
vice versa
- sending PAUSE then CONTINUE as a captain causes a
superfluous countdown which does nothing.