Phoenix
General Index
What is General For?
History
Confederate History
Dewiek
Flagritz
Mohache
Hive
Falconians
Species
Dewiek
Felini
Falconians
Naplians
Mohache
Posting Rules
IRC / Discord Chat Channel
Resources
Affiliation Web Pages
How to .....
Setting up a forum.
Using Phoenix Nexus.
Laws
Peripheries
Factions
Space
Zones of Moderation
Halo Periphery
Advert for Phoenix
XML Interface
Download turns in python
 
XML Interface

XML interface is accessed by going to Personal -> XML Access and generating a full access code.
This then creates a <ID> and <Code> that allows you to access the site data via your user details.

The general request to get the XML pages is:

http://www.phoenixbse.com/index.php?a=xml&uid=<ID>&code=<Code>&sa=<request>

The <request> is either:

  • info_data - gets current info that you know about
  • order_data - gets current order data
  • pos_list - gets a list of your positions and locations
  • send_orders - sends a set of orders posted as XML
  • game_status - gets teh game status
  • turn_data&tid=<position number>- gets a self contained HTML turn
  • pending_orders&pid=<position number>- gets the pending orders for a turn
  • notes - gets the notifications for your account
  • items - gets all the items and their data that you know about
  • systems - gets all the systems and cbodies that you know about
  • base_data - gets all items in bases + extra info


Notes:
[1] turn_data can have a &type=file which makes it return the filename of the html fragment on the site, to download this file use https://www.phoenixbse.com/?a=tf&t=<returned filename>
[2] when turn_data fails it now returns all the possible turns with file names / last update stamps
[3] Pending orders returns the pending orders (as seen on the turns) if there is no current queued orders. Otherwise it returns the orders in the current queued turn. If you add type=turn you always get the orders that the off-line game has stacked for you and if you add type=current you only get the current orders that are queued.

Notifcations defines  [Recruit]

NOTE_TURN_DATA => 1			- position_id,system_id,type,squad
NOTE_NEW_POSITION => 2 - position_id,system_id,type,squad
NOTE_ACTIVE_MISSION => 3 - mission_id,pos_number
NOTE_NEW_MISSION => 4 - mission_id
NOTE_BATTLE => 5 - location_name,number ships,system_id
NOTE_DELIVERY => 6 - position_id,system_id,quant,item_id,deliver_to_id
NOTE_PICKUP => 7 - position_id,system_id,quant,item_id,picked_up_from_id
NOTE_BUY => 8 - position_id,system_id,quant,item_id,bought_from_id,stellars
NOTE_SELL => 9 - position_id,system_id,quant,item_id,sold_to_id,stellars
NOTE_TRANSFER_IN => 10 - position_id,stellars
NOTE_POSITION_TRANSFER => 11 - position_id,system_id,type,transfer_id
NOTE_RELATIONS_CHANGE => 12 - aff_id,status
NOTE_SYSTEM_CHARTER => 13 - aff_id,status,charter_id - disabled
NOTE_RESTRICTED_STARBASE => 14 - position_id
NOTE_RESTRICTED_CBODY => 15 - system_id,cbody_id
NOTE_RESTRICTED_SYSTEM_LINK => 16 - system_id
NOTE_RESTRICTED_ITEM => 17 - item_id
NOTE_RESTRICTED_ORDER => 18 - order_id
NOTE_RESTRICTED_MISSION => 19 - mission_id
NOTE_RESTRICTED_SYSTEM_LOC => 20 - system_id
NOTE_DELIVERED_TO => 21 - position_id,system_id,quant,item_id,by_id
NOTE_PICKED_UP_FROM => 22 - position_id,system_id,quant,item_id,by_id
NOTE_BOUGHT_FROM => 23 - position_id,system_id,quant,item_id,by_id,stellars
NOTE_SOLD_TO => 24 - position_id,system_id,quant,item_id,by_id,stellars
NOTE_BOARDED => 25 - loc,system_id,position_id
NOTE_RAIDED => 26 - loc,system_id,position_id
NOTE_COMBAT_TRANSACTION => 27 - loc,system_id,position_id
NOTE_SEL_POSITION => 28 - position_id,amount


//coming soon
NOTE_RESTRICTED_DATA => 29 - restricted_type,data0,data1
NOTE_PLANETARY_SALES => 30 - position_id,system_id,cbody_id,trade_type,stellars
NOTE_NEXUS_CASH => 31 - position_id,stellars
NOTE_GM_NOTE => 32 - position_id,group_id,system_id,cbody_id,subject + msg
NOTE_RUMOUR => 33 - data
NOTE_SPOTTED => 34 - position_id,system_id,location_name - not done yet
NOTE_TURN_ERROR => 35 - position_id,system_id,cbody_id,error_code,txt
NOTE_WARNING => 36 - position_id,system_id,cbody_id,warning_code,txt
NOTE_RESEARCH_FINISHED => 37 - position_id,item_id
NOTE_COMPLEX_VISIT => 38 - position_id,base_id,complex_type (txt)
NOTE_TRANSFER_OUT => 39 - to_position_id,stellars
NOTE_ORBITAL_DROP => 40 - position_id,system_id,quant,item_id,by_id - like deliver
NOTE_ORBITAL_RESUPPLY => 41 - position_id,system_id,quant,item_id,by_id - like deliver to
NOTE_SPECIAL_ACTION => 42 - position_id,header + text
NOTE_MESSAGE => 43 - src_pos_id,to_pos_id + message
NOTE_AGENT_ACTION => 44 - position_id,system_id,action_text + text
NOTE_REMINDER => 45 - position_id,note (80 char) + order at add
NOTE_COMPLEX_CHANGE => 46 - position_id,complex_type,built/scrapped/activated/deactivated,number
NOTE_ACCOUNT_LOW => 47 - cash, account below £10 - not done yet
NOTE_REGISTERED_BASE_ACTIVITY => 48 - position_id,system_id,cbody_id,action_type (attacked/bought/registed/deregistered)
NOTE_OPPORTUNITY_FIRE => 49 - loc,system_id,position_id + txt
NOTE_ESCAPING_COMBAT => 50 - loc,system_id,position_id + txt


WARNING_DEEPCORE_STRUCT => 0 'Insufficient structural modules to deep core'
WARNING_COMPLEXES_NOT_PRODUCING => 1 'Complexes are not producing'
WARNING_SB_EFFICIENCY_LOW => 2 'Base Efficiency has dropped below 100%'
WARNING_SB_SECURITY_LOW => 3 'Base security has dropped below 100%'
WARNING_SHIP_INTEGRITY_LOW => 4 'Ship integrity is low (<25%)'
WARNING_SCOUTED => 5 'Scouted'
WARNING_BASE_SUBVERTED => 6 'Base subverted'
WARNING_BASE_REGISTRATION_REVOKED => 7 'Registration Revoked'


TURN_ERROR_NO_STARGATE_KEY => 0 'has no stargate key'
TURN_ERROR_NO_KNOW_BASE => 1 'has no knowledge of base'
TURN_ERROR_NO_KNOW_SYSTEM => 2 'has no knowledge of system'
TURN_ERROR_NO_KNOW_CBODY => 3 'has no knowledge of celestial body'
TURN_ERROR_INCORRECT_SEC => 4 'has incorrect security clearance'
TURN_ERROR_NO_THRUST => 5 'does not have enough thrust to take off/land'
TURN_ERROR_MAINTENANCE_FAILED => 6 'failed to maintain'


COMPLEX_ACTION_BUILT => 0 'built'
COMPLEX_ACTION_SCRAPPED => 1 'scrapped'
COMPLEX_ACTION_ACTIVATED => 2 'activated'
COMPLEX_ACTION_DEACTIVATED => 3 'deactivated'


REGISTERED_BASE_REGISTERED => 0 'registed'
REGISTERED_BASE_DEREGISTERED => 1 'de-registered'
REGISTERED_BASE_ATTACKED => 2 'been attacked'
REGISTERED_BASE_BOUGHT => 3 'been bought'


COMPLEX_VISIT_RECREATION => 0 'used recreation complexes'
COMPLEX_VISIT_REPAIR => 1 'repaired'
COMPLEX_VISIT_MAINTENANCE => 2 'maintained'
COMPLEX_VISIT_UPGRADE => 3 'upgraded'
COMPLEX_VISIT_REFIT => 4 'refitted'


TRADETYPE_TRADE => 0 'Trade'
TRADETYPE_LIFE => 1 'Life'
TRADETYPE_DRUGS => 2 'Drugs'

Flags  [Recruit]

Order Catagory Flags
====================
RDERFLAG_ANY 0x0
ORDERFLAG_THRUSTMOVE 0x1
ORDERFLAG_MOVEMENT 0x2
ORDERFLAG_TRANSACTION 0x4
ORDERFLAG_STANDINGORDER 0x8
ORDERFLAG_BASIC 0x10
ORDERFLAG_SCAN 0x20
ORDERFLAG_OTHER 0x40
ORDERFLAG_ISSUE 0x80
ORDERFLAG_CREATE 0x100
ORDERFLAG_SQUADRONORDER 0x200
ORDERFLAG_SQUADRONSTANDINGORDER 0x400
ORDERFLAG_TURNTYPE 0x800
ORDERFLAG_BOARDING 0x1000
ORDERFLAG_PLANETARYINTERACTION 0x2000
ORDERFLAG_MACRO 0x4000
ORDERFLAG_COPY 0x8000
ORDERFLAG_FULL 0xfffff

Position Type
=============
POSITIONTYPE_NONE 0x00
POSITIONTYPE_GP 0x01
POSITIONTYPE_SHIP 0x02
POSITIONTYPE_STARBASE 0x03
POSITIONTYPE_DEBRIS 0x04
POSITIONTYPE_POLITICAL 0x05
POSITIONTYPE_PLATFORM 0x06
POSITIONTYPE_AGENT 0x07

Position Flags
==============
POSFLAG_NONE 0x00
POSFLAG_GP 0x01
POSFLAG_SHIP 0x02
POSFLAG_STARBASE 0x04
POSFLAG_POLITICAL 0x08
POSFLAG_PLATFORM 0x10
POSFLAG_AGENT 0x20
POSFLAG_DEBRIS 0x40

Periphery Names / IDs
=====================
Cluster 3
Caliphate 9
Coreward Arm 14
Darkfold 2
Dewiek Home 4
Dewiek Pocket 5
Detinus Republic 6
Flagritz Empire 10
Felini Empire 11
Halo 13
Inner Capellan 1
Inner Empire 8
None 0
Orion Spur 16
Outer Capellan 12
Perfidion Reach 17
Transpiral 15
Twilight 7

Sending Orders  [Recruit]

For send_orders its currently this bit not convinced about sequencing - need to sort that out. {Need to fix so it accepts XML properly}

<turns>
<turn pos_id="Position Number" seq="1 or 0" seq_after="Pos Num to seq after" append="true/false">
<orders>
<order id="Order ID" issue_type="Issue Type">
<param>Param 0</param>
<param>Param 1</param>
</order>
</orders>

</turn>
</turns>


All atrribute in <turn> are optional except "position number"
Boolean Params Values are: true / false
Turns currently are placed into queue (and can end up with duplicates that delete each other if a turn already exists)
By default if a turn is send twice it overwrites the original - if append is set to append="true" then orders are appended to the end of a turn.
The XML only echos back what it wrote not the whole turn.

Issue Type
Is optional - you do not have to add - if added then it takes following states
For ships/gps:
0 => Continue on Error
1 => Stop on Error
For bases:
0 => Normal Order
1 => Pre Production Order
2 => Post Production Order
3 => End of Week Order

Php i used to send XML  [Recruit]

<?php

$xmlRequest="<turns>
<turn pos_id=\"12345\" seq=\"0\" seq_after=\"0\">
<orders>
<order id=\"2040\">
<param>1</param>
<param>2</param>
<param>3</param>
<param>True</param>
<param>True</param>
</order>
</orders>

</turn>
</turns>
";
// code is not from live version :)
$url='127.0.0.1/ss_forums/index.php?a=xml&uid=120&code=c56ec78c26e9c6f136a42a12172fd282&sa=send_orders';
$headers = array(
"Content-type: text/xml;charset=\"utf-8\"",
"Accept: text/xml",
"Cache-Control: no-cache",
"Pragma: no-cache"
);

try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);

// send xml request to a server

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = curl_exec($ch);

//convert the XML result into array
if($data === false)
{
$error = curl_error($ch);
echo $error;
die('error occured');
}
else
{
print_R($data);

}
curl_close($ch);

}catch(Exception $e){
echo 'Message: ' .$e->getMessage();die("Error");
}
?>

General Account Data  [Recruit]

Test Account

The following services are available from the blank test account:
https://www.phoenixbse.com/?a=xml&sa=info_data&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

https://www.phoenixbse.com/?a=xml&sa=order_data&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

https://www.phoenixbse.com/?a=xml&sa=game_status&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

https://www.phoenixbse.com/?a=xml&sa=notes&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

https://www.phoenixbse.com/?a=xml&sa=items&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

https://www.phoenixbse.com/?a=xml&sa=systems&uid=1&code=22d9b2c0316adab0f9104571c7ed8eb0

 
News
Is open for business...
 
user image

***** Inter Galactic News *****

Fox Effects Fantastic Turnaround

With his feet barely under the table, Xavier Fox has managed to dramatically turn things around at the GTT. With year-on-year sales figures up by 23%, manufacturing up 42% and ship production increased by 36%, the megacorporation is running at full steam with noticeable impact on local economies across the Stellar Empire. Political analysts also note that after a period of retrenchment following the disastrous leadership of Ike Krieger, investment in defence is at a five-year high. After such bullish growth, the trick will be for Mr. Fox to recruit C-level executives fast enough to match his ambitions. It is notable in temperament, the current crop of GTT politicals do not exhibit the monomaniacal xenophobia of their predecessors and have resisted repeated provocations by the DEN to enter a pointless spar before they have re-established superiority against the foolhardy aliens.


 
user image

***** Inter Galactic News *****

Felini flounder in Winter against superior Dewiek forces

The FEL have managed to get their asses kicked by the DEN yet again after provoking the definitely “not cute or cuddly” Dewiek in the Crossley system. The furry punching bags had bought a civilian flagged outpost in the system, without permission or under certain conditions depending on who you ask, and then had the gall to reinforce this error by positioning warships in orbit. The famously patient warlord Halvor did not buy the story these heavy hull armed ships were merely transports and sent a pack to clear the orbit. The mouthy yet green Felini fleet commander Pr'prz fancied his chances against what looked like a light complement of DEN warships and ordered his own warships to engage in the neighbouring Winter system. The result was predictably a wipe out of the FEL forces consisting of forty-seven capital warships at no loss to the DEN. Once again, a series of calamitous decision making resulted in Felini lives being wasted by a leadership barely fit to clean a litter tray. The otherwise untested Halvor can now claim some victory ale although with his penchant for picking on creatures as weak as Gracians, it’s not exactly clear how much glory this new breed of Dewiek warrior can claim against the legends of old.


 
user image

***** Inter Galactic News *****

Dastardly Dewiek Disregard Yank Neutrality

The governor of a MRC outpost in the Yank system reports that a 400-hull DEN warship called Grey Hunter Axiom entered orbit of Spritzer and opened fire with weapons of mass destruction (WoMD) against a platform, outpost, ground party and ship. Reports indicate significant casualties to Kastorian personnel both in space and on the ground. The KAS Junta is gruffly warning, with a slightly indifferent air, that everybody better stay out of the sector of the outpost for their own health. It is unclear what measures the KAS have or will take against the DEN on this matter. Such a breach of Yank neutrality has in the past caused the Dewiek to froth at the bit against the Empire for their disregard of ‘civilised’ norms. Their current silence on this matter speaks volumes.


 
user image

***** Inter Galactic News *****

Yenni-bodies Pirates?

A PIR outpost was miraculously discovered by an IMP freighter, of all things, in the Yanni system with several Javelin class warships in orbit. After noticing the IMP freighter and seeing the public post by Jack Jones on subspace, the PIR decided to flee and leave a combined force of IMP and FET forces to capture the outpost. A brain damaged three-year old commentator who still believed in the goodness of people and Santa Claus was quick to commend the IMP on their good work, dismissing those who thought it no more than a convenient clearing up operation signifying* completion of operations in the nearby FET claimed systems of Graydown, Canth and Onissian by IMP puppet Edward Lowe. Meanwhile, the Wolf Lord Lyceum summed up the view of many when he screamed, “What is this amateur b*llshit?” into an uncaring universe.


 
user image

***** Inter Galactic News *****

Crowe Coups Self

The IMP Viceroy Tiberius Crowe has finally achieved something in his unremarkable tenure by relinquishing even the semblance of wearing big boy pants and instead, appointed Jack Jones as Patrol Commissioner, salty spokesperson and policy maker for the Empire. Crowe will now join CIA Director Laton in riding the special bus to work where the two of them will enjoy long pleasant afternoons sipping cups of tea. Actually, just tepid fruit-scented water as neither of them can be fully trusted with a hot kettle. Occasionally, they might be visited by equally dynamic war “veteran” Admiral Bridge to enjoy mimes presenting the latest comics from the Howl. Meanwhile, Jones is putting pressure on the FET and will soon no doubt find a pretext to deploy his vast mercenary forces against anyone else who is seen working too closely with his most hated of enemies, the HEX.


 
user image

***** Inter Galactic News *****

Highlord Aadolf Loses Control As Dewiek Break Peace Treaty

Around one hundred DEN warships have launched an attack on a small GTT destroyer squadron of forty ships in the Daggern system. Two GTT ships were destroyed and another fifteen suffered noticeable damage. CEO Xavier Fox issued a restrained but angry statement demanding the DEN explain themselves. Highlord Aadolf’s buffoon-like response amounted to “Dewiek be Dewiek, let’s drink and forget about it.” Cold comfort for the dead crew onboard the GTT ships and their families. Especially, as seems likely at this time, the Empire will settle for some bloody money instead of retribution.


 
user image

***** Inter Galactic News *****

The Worm Turns

The FET have reduced relations with the IMP to neutral. Sneezy boss Cu Chulainn took the bold step of putting 1 and 1 together by linking recent mercenary attacks in their systems with the IMP scouts seen loitering for some time and refusing to move. Even bolder, hints that they believe “a certain Imperial citizen” is responsible for Edward Lowe’s entire underhand operation were voiced loudly enough that the handsome but hard of hearing Tiberius Crowe had to take note. He was seen grappling in trademark fashion with his skin tight jacket, pulling it down over his partially concealed middle-aged girth, as he sat to issue a terse public statement. Exactly who this citizen may be was left unnamed and no news channel subject to Imperial laws would dare unmask the villain. Luckily dear readers, we are not subject to phony Imperial laws. It’s Jack Jones everybody. Jack Jones, butcher of Naplians and fancier of silver long johns.


 
user image

***** Inter Galactic News *****

”Necessity hath no law”

Lord Cromwell of the DOM slapped a fleet of privateers, on charges of "knavery", "bad manners" and "poor sportsmanship." Such offences carry the death sentence in the Dominion, a nebulous territory neither part of the Empire nor apart from it. At least thirteen Armadillo class ships, typically sold by the DOM, were destroyed at a location Cromwell was unwilling to disclose publicly. Bloodthirsty Dewiek as well as "prince of peace" Yahn Wodenzoon were quick to congratulate the DOM for their merciless carnage. It seems the consensus in the galaxy’s ruling class is that not presenting valid identification is a crime worthy of the murder of dozens, perhaps hundreds, of unfortunate crewmen. This is all just another indicator that the political elite are far removed from the lives of ordinary people who are seen as little more than meat inventory. It is telling so-called “man of the people and the downtrodden” Wodenzoon so readily aligns himself with this grisly concord. Meanwhile, the archaic elocutionist Cromwell further establishes the recent trend of mild exertions of power by the cold-blooded DOM.


 
user image

***** Inter Galactic News *****

Return of the Fox

The galaxy is still digesting news of the return of Xavier Fox to the boardroom of the GTT. The ailing corporation's share price began a sharp rally after a six month downward spiral under Ike Krieger, credited with being the worst CEO in the megacorporation's history. The only surviving board member from Fox's initial tenure as CEO, and perhaps across the entire GTT board, is Antt Tilton the Research Director. The reclusive Tilton is the brains behind the ascension of GTT technology, particularly in the field of antimatter weapons and super-heavy dreadnought size ships, Tilton offers a small measure of continuity during this tumultuous time. Mr. Fox has therefore resorted to a broad appeal for new blood to join the ailing firm. So far, the result has been a number of two-dimensional "Yes" persons being promoted to the C-suite. Still, key stakeholders were upbeat with one commenting, "Fox is the man to turn this bloody disaster around. He knows how to put a great team together and where to bury the bodies of the non-performers."


 

Free Ship when you sign-up
Complete missions for in game rewards
Control everything, up to an entire empire
Dedicated human moderators
Player and Moderator driven plotlines
Discover new worlds to explore, exploit & colonise
Over 20 years of content development
Persistent Browser-Based Game (PBBG)

I’ve played on and off for approximately 10 years, over a 20 year spell. After some interesting debate on the in-game forum, I did wonder what, exactly, has kept drawing me back to the game, when for so many others I’ve generally lost interest after a few months.

Ultimately, I think it is a combination of automation (that allows the game to handle thousands of positions to interact on a daily basis) coupled with Special Actions (that allow the story arc to develop in a way that could not be catered for by a set of predefined list of available orders).
-Zigic