--
[ Picked text/plain from multipart/alternative ]
did you try turning logging on?
"log on" in the console?

it redirects all text to a log file.



On 6/30/07, Tony Paloma <[EMAIL PROTECTED]> wrote:
>
> Ya, it does. I'm thinking that somehow Msg() is bypassing write() or the
> stdout file descriptor or something.
>
> Is there a different trick that rcon uses to redirect output?
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Greg Scott
> Sent: Friday, June 29, 2007 8:23 AM
> To: hlcoders@list.valvesoftware.com
> Subject: Re: [hlcoders] Redirect server command output
>
> --
> [ Picked text/plain from multipart/alternative ]
> Did you try stepping through it in debug mode to make sure it's passing
> all
> the checks correctly?
>
> On 6/29/07, Tony Paloma <[EMAIL PROTECTED]> wrote:
> >
> > This is a multipart message in MIME format.
> > --
> > [ Picked text/plain from multipart/alternative ]
> > I'm trying to redirect the output of a server command to a file, but I'm
> > having problems.
> >
> > I've come up with the following code (this code is within a ConCommand
> > that
> > I have written):
> >
> >
> >
> >
> >
> >
> >
> >                 char cmd[2048];
> >
> >
> >
> >                 // clear out any pending commands first
> >
> >                 engine->ServerExecute();
> >
> >
> >
> >                 // save the old stdout
> >
> >                 int oldstdout = dup(1);
> >
> >                 // redirect stdout to rcon.txt if writable
> >
> >                 FILE *fp = fopen("rcon.txt", "w");
> >
> >                 if(fp)
> >
> >                 {
> >
> >                                 dup2(fileno(fp), 1);
> >
> >                 }
> >
> >                 // prepare the command
> >
> >                 Q_snprintf(cmd, sizeof(cmd), "%s\n",
> engine->Cmd_Args());
> >
> >                 // just some tests
> >
> >                 puts("Test:");
> >
> >                 Msg("Cooltest\n");
> >
> >                 // queue the command
> >
> >                 engine->ServerCommand(msg);
> >
> >                 // actually execute the command
> >
> >                 engine->ServerExecute();
> >
> >                 // more tests
> >
> >                 puts("posttest");
> >
> >                 Msg("coolposttest\n");
> >
> >                 // restore everything if we messed with anything
> >
> >                 if(fp)
> >
> >                 {
> >
> >                                 // flush to make sure text gets written
> to
> > file, not console
> >
> >                                 fflush(stdout);
> >
> >                                 fclose(fp);
> >
> >                                 // put stdout back
> >
> >                                 dup2(oldstdout, 1);
> >
> >                                 // and close the duplicate
> >
> >                                 close(oldstdout);
> >
> >                                 flushall();
> >
> >                 }
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > When this code executes a command on the server (cvarlist for example),
> no
> > output is written to the console but there is no relevant output in the
> > rcon.txt file either. The contents of the rcon.txt file are:
> >
> > Test:
> >
> > posttest
> >
> >
> >
> > The tests using Msg() don't write to the file nor does the server
> command.
> > Nothing is written to the console either, so it looks like the output
> gets
> > lost somewhere. Why doesn't this work to redirect output of Msg()? I'm
> > testing this in Windows. I'd be surprised if it didn't work in Linux as
> > well
> > since Linux seems to be more compliant with these sorts of things.
> >
> >
> >
> > Does anybody have any ideas or recommendations?
> >
> > --
> >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> > please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
> --
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--
-omega
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to