GUI for BZAdmin
- clarahobbs
- Private First Class
- Posts: 272
- Joined: Thu Jan 10, 2008 1:45 am
- Location: The Fourth Dimension
GUI for BZAdmin
In 2005, RPG said that they should make a GUI for BZAdmin. I agree with him, and once I learn enough Python, I will try to make this improved GUI. I know it will take a lot of work, and I probably won't even know enough Python for about a year or so to even try to start. However, when I know enough, I will begin this huge project.
FKA Ratfink
Ratfink
BZAdmin is currently written in C++, so I imagine if you want to re-use anything from the current client, you'll get to program this in C++.
BZAdmin is currently written in C++, so I imagine if you want to re-use anything from the current client, you'll get to program this in C++.
Last edited by Winny on Sun Mar 02, 2008 12:44 am, edited 1 time in total.
C++ would likely be a better choice for such a client anyway, since compiled languages are generally faster than interpreted languages (of which Python is one).
I believe that a GUI bzadmin (for Linux, iirc) was already begun. Rather than starting from scratch and isolated, you may want to track down the author of that project and see if he would be willing to share the code with you.
I believe that a GUI bzadmin (for Linux, iirc) was already begun. Rather than starting from scratch and isolated, you may want to track down the author of that project and see if he would be willing to share the code with you.
- clarahobbs
- Private First Class
- Posts: 272
- Joined: Thu Jan 10, 2008 1:45 am
- Location: The Fourth Dimension
The problem is that I already know some Python and don't really want to learn C++. Plus, if they could make a BZFlag client with Python that allows you to play the game, then it shouldn't be too hard to make one that just allows you to change server variables and chat. I might even try using C++, but I can't find the source code of BZAdmin anywhere. If somebody could show me where it is, I would appreciate it.
FKA Ratfink
BZAdmin is part of the BZFlag project, so the source for it in in the source archives and in SVN.
> The problem is that I already know some Python and don't really want to learn C++.
I didn't want to learn C++ either. However, if you know some C-ish languages (PHP, Java, even Perl), C++ is pretty easy to pick up. But if you feel comfortable starting from scratch (all the network code), then go for it.
I didn't want to learn C++ either. However, if you know some C-ish languages (PHP, Java, even Perl), C++ is pretty easy to pick up. But if you feel comfortable starting from scratch (all the network code), then go for it.
- clarahobbs
- Private First Class
- Posts: 272
- Joined: Thu Jan 10, 2008 1:45 am
- Location: The Fourth Dimension
I don't know any of those languages you listed. Also, I have some nice books on Python already. I will probably just start from scratch and make a program that can do all the functions of the current BZAdmin, but make it have a nice GUI. As I said before, it will be a long time until I can start, so I'd better get studying!
FKA Ratfink
-
- Private First Class
- Posts: 330
- Joined: Tue Feb 08, 2005 6:06 pm
- Location: Lancaster, PA
- Contact:
Disclaimer: I'm not an expert on this topic, especially as it relates to bzflag.
My brother is both a Python and C++ programmer. He says that where he works, they often end up writing the frontend for whatever they're working on in Python, but use compiled libraries written in C++ to do some of the heavy lifting in the backend. You get the advantages of easier writing for the part the users interact with, but you get the advantages of speed with compiled code.
I don't know what kind of hooks the BZAdmin code has in place right now. Might be a bit of reading C++ code and figuring out how to tie into it, or it might be an absolute nightmare. Hard to say. Anyway, just because one part is written in one language doesn't mean that all parts would need to be.
My brother is both a Python and C++ programmer. He says that where he works, they often end up writing the frontend for whatever they're working on in Python, but use compiled libraries written in C++ to do some of the heavy lifting in the backend. You get the advantages of easier writing for the part the users interact with, but you get the advantages of speed with compiled code.
I don't know what kind of hooks the BZAdmin code has in place right now. Might be a bit of reading C++ code and figuring out how to tie into it, or it might be an absolute nightmare. Hard to say. Anyway, just because one part is written in one language doesn't mean that all parts would need to be.
- clarahobbs
- Private First Class
- Posts: 272
- Joined: Thu Jan 10, 2008 1:45 am
- Location: The Fourth Dimension
Google is your friend.Ratfink wrote:What is a packet sniffer?
http://en.wikipedia.org/wiki/Packet_sniffer
> My brother is both a Python and C++ programmer. He says that where he works, they often end up writing the frontend
> for whatever they're working on in Python, but use compiled libraries written in C++ to do some of the heavy lifting in the
> backend. You get the advantages of easier writing for the part the users interact with, but you get the advantages of speed
> with compiled code.
From what you're talking about (using C++ from Python), this doesn't serve much of a purpose for what he's talking about. BZAdmin is (at this point) just a tool. You cannot hook into it like bzfs, and the most you can do is use pipes to manipulate I/O. Kudos for abstraction and optimization, though.
There IS a way to get a GUI for bzadmin currently, and it's quite functional. It's called "Joining as Observer." If you need I/O filtering, use the CLI. If you just want to use it to talk to people, use the client. It can do quite a bit, if you learn how to work it.
> for whatever they're working on in Python, but use compiled libraries written in C++ to do some of the heavy lifting in the
> backend. You get the advantages of easier writing for the part the users interact with, but you get the advantages of speed
> with compiled code.
From what you're talking about (using C++ from Python), this doesn't serve much of a purpose for what he's talking about. BZAdmin is (at this point) just a tool. You cannot hook into it like bzfs, and the most you can do is use pipes to manipulate I/O. Kudos for abstraction and optimization, though.
There IS a way to get a GUI for bzadmin currently, and it's quite functional. It's called "Joining as Observer." If you need I/O filtering, use the CLI. If you just want to use it to talk to people, use the client. It can do quite a bit, if you learn how to work it.