global.mb_name[boardid] = "Board Name" global.mb_topic[topicid] = "Topic Name" global.mb_topown[boardid,topicid] = Whether or not topic topicid belongs to board global.mb_reply[topicid,replyid] = Reply replyid's text, with string beginning with the reply name, e.g.: "The Blues|Man, I'm uber down today..." global.mb_name[boardid,0] = "Board Name" global.mb_name[boardid,topicid(+1?)] = "Topic Name" global.mb_reply[boardid,replyid] = GO WITH THIS IDEA: //These variables are used client-side to keep track of the current message board, topic, reply, and mb level (or which of those categories you are in). global.mb_level = Place you are at in a board (0 - Looking at listed topics; 1 - Looking at listed replies; 2 - Looking at a certain reply) global.mb_cboard = Board ID global.mb_ctopic = Topic ID global.mb_creply = Reply ID of reply in topic //Topics and boards keep distinct ids, while replies ids are only relative to their topic. These variables are filled server-side, and are requested by //clients only as the clients need them. global.mb_total[0] = Total Number of Message Boards global.mb_total[1] = Total Number of Topics global.mb_board[boardid] = "Board Moderator[Board Name]" global.mb_topic[topicid,0] = "Topic Starter[Topic Name]Topic First Message" global.mb_topic[topicid,1] = No. Replies Under Topic topicid global.mb_topic[topicid,2] = ID of the Board Which Topic topicid Belongs to global.mb_reply[topicid,replyid] = "Reply-er[Reply Name]Reply message." On server exe start, many loops assign to these values from an essentially .txt file: @TOTAL //Total values aren't necessary in the reading of the file, but they are in the writing of it. (I think...) //so, you might consider removing these. They might not need exist except for replies. (or maybe not replies either!) 10 //10 message boards 50 //5 topics per board @BOARD //Loop here: if readln != "@TOPIC" then add to a value, assigning board names until that value is = total boards... BNCentral Saber's Message Board . . . @TOPIC //Same deal. If readln != "@REPLY", keep reading values and assigning variables and arrays. Saber Mage|The Beginning|So, this is it eh? //Topic start and name 3 //Three replies 0 //Board ID it belongs to (BNCentral) Chubble|Help Wanted!|We need to pick some people for moderators, and people we can TRUST. Any takers? 9 0 Saber Mage|Hey, All :D|Vellcome to my personal message board! Muahahah!! 4 1 //Saber's Message Board . . . @REPLY Chubble|Oh, the Beginning Eh?|...Yeah, I suppose it is the beginning. This should be sweet!!! Saber Mage|Hm...|How're we going to get other people to help us! Chubble|I know!!|Just leave it to me. //^^^ Because this is the third reply the loop would reach, it would reset the reply index, add one to the topic index, and go on //to the next reply, adding it to the topic "Help Wanted!" by Chubble. Saber Mage|Ooh!|Me!!! Saber Mage|Re: Ooh!|Memememememe!!!!!!!! Saber Mage|Re: Re: Ooh!|MeMeMeMeMeMe!!!!!!!! Saber Mage|Re: Re: Re: Ooh!|Me me me!!!!!!!! Saber Mage|Re: Re: Re: Re: Ooh!|Me Me Me Me!!!!!!!!!!! Saber Mage|Re: Re: Re: Re: Re: Ooh!|ME ME ME ME ME!!!!!!!!!!! Saber Mage|Re: Re: Re: Re: Re: Re: Ooh!|MEEEEEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!! Chubble|Ridiculous...|Jeez you made the game! Chill out. Jonnakitty|Um|...Me? //^^^ Because this is the ninth reply the loop would reach, it would reset the reply index, add one to the topic index, and go on //to the next reply, adding it to the topic "Hey, All :D" by Saber Mage on the board Saber's Message Board. Jonnakitty|What if...|WHAT IF I DONT WANNA FEEL WELCOME??!? HUH?!?! JERK! Beavis|Hehhheh|They want my unit... Hhheheh! Chubble|???|Who the crap is that? Butthead|Uhhhuh.|Hhhuhuh. Uhhhhuh! //This is the end. All loops would stop after this, and with message board arrays full and happy, the server could now begin. To go about writing that text file (^^^), you would simply create these values and assign these variables and arrays in-game. Then, upon either server game end or an in-game command, it would all be backed up and written to the text file using loops. Or, maybe even back up every time someone makes a change to a board? But probably not.